Submission #778501

#TimeUsernameProblemLanguageResultExecution timeMemory
778501bachhoangxuanStray Cat (JOI20_stray)C++17
15 / 100
37 ms16264 KiB
#include "Anthony.h" #include <bits/stdc++.h> using namespace std; #define pii pair<int,int> namespace { int c[]={0,1,0,0,1,1}; } // namespace vector<int> Mark(int N, int M, int A, int B, std::vector<int> U, std::vector<int> V) { vector<int> X(M),dep(N,-1); vector<vector<pii>> edge(N); for(int i=0;i<M;i++) edge[U[i]].push_back({V[i],i}),edge[V[i]].push_back({U[i],i}); queue<pii> q;q.push({0,0});dep[0]=0; while(!q.empty()){ auto [u,d]=q.front();q.pop(); for(auto [v,id]:edge[u]){ if(B){ if(dep[v]!=-1) continue; int nd=((int)edge[v].size()==2?(d+1)%6:(d^1)); q.push({v,dep[v]=nd});X[id]=c[d]; } else if(dep[v]==-1) dep[v]=d+1,q.push({v,dep[v]}); } } if(!B) for(int i=0;i<M;i++) X[i]=min(dep[U[i]],dep[V[i]])%3; return X; }
#include "Catherine.h" #include <bits/stdc++.h> using namespace std; namespace { int A,B,p=-1; int up=0,st=0,num=0; int f[81]; } // namespace void Init(int A, int B) { ::A = A; ::B = B; f[39]=-1;f[43]=0;f[32]=-1;f[13]=1; f[16]=-1;f[31]=0;f[67]=-1;f[64]=1; } int Move(std::vector<int> y) { auto g = [&](int val){return p=(val==-1?p:val),val;}; if(A==2){ int d=y[0]+y[1]+(st!=0);st++; if(up) return g(d>=3?(p^1):y[1]); if(d==1) return up=true,g(st!=1?-1:y[1]); if(d>2) return up=true,g(y[0]==0 || y[1]==0?-1:(y[1]+(p==1)>y[0]+(p==0)?0:1)); num=num*3+y[1]+(p==1); if(st<=3) return g(!y[0]); else return up=true,g(y[1]); } else for(int i=0;i<3;i++) if(y[i] && !y[(i+2)%3]) return i; return -2; }
#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...