제출 #1151346

#제출 시각아이디문제언어결과실행 시간메모리
1151346byunjaewoo길고양이 (JOI20_stray)C++20
20 / 100
32 ms13896 KiB
#include "Anthony.h" #include <bits/stdc++.h> using namespace std; namespace { const int N=20010, INF=1e9; int a[6]={0, 1, 1, 0, 0, 1}; int dist[N]; vector<pair<int, int>> adj[N]; queue<int> q; } vector<int> Mark(int N, int M, int A, int B, vector<int> U, vector<int> V) { for(int i=0; i<M; i++) adj[U[i]].push_back({V[i], i}), adj[V[i]].push_back({U[i], i}); if(A>=3) { q.push(0), fill(dist+1, dist+N, INF); vector<int> ret(M, 0); int cnt=0; while(!q.empty()) { int curr=q.front(); q.pop(); for(auto [next, k]:adj[curr]) { if(dist[next]>dist[curr]+1) dist[next]=dist[curr]+1, q.push(next); if(dist[next]>=dist[curr]) ret[k]=dist[curr]%3; } } return ret; } vector<int> ret(M, 0); function<void(int, int, int)> dfs=[&](int curr, int prev, int x) { for(auto [next, k]:adj[curr]) if(next!=prev) { if(adj[curr].size()+(curr==0)==2) ret[k]=(x+1)%6; else ret[k]=1-a[x]; dfs(next, curr, ret[k]); } }; dfs(0, -1, 1); for(int i=0; i<M; i++) ret[i]=a[ret[i]]; return ret; }
#include "Catherine.h" #include <bits/stdc++.h> using namespace std; namespace { int A, B, cnt, lst, dir=-1; int a[6]={0, 1, 1, 0, 0, 1}, x[5]; } void Init(int A, int B) { ::A=A, ::B=B; } int Move(vector<int> y) { if(A>=3) { for(int i=0; i<3; i++) if(y[i] && y[(i+1)%3]) return i; for(int i=0; i<3; i++) if(y[i]) return i; } if(dir<0) { if(y[0]+y[1]==0) { dir=lst; return -1; } if(!cnt && y[0]+y[1]==1) { dir=y[1]; return dir; } if(y[0]+y[1]>=2+(!cnt)) { dir=(y[0]>y[1]); return dir; } if(!cnt) { x[0]=(y[1]>0), lst=x[1]=(y[1]>1), cnt++; return x[1]; } if(cnt==1) { lst=x[2]=y[1], cnt++; return x[2]; } if(cnt==2) { lst=x[3]=y[1], cnt++; return x[3]; } x[4]=y[1]; for(int i=0; i<6; i++) { bool flag=true; for(int j=0; j<5; j++) flag&=(a[(i+j)%6]==x[j]); if(flag) { dir=lst; return -1; } } dir=y[1]; return dir; } else { if(y[0]+y[1]==1) dir=y[1]; else dir=!dir; return dir; } }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...