제출 #1138307

#제출 시각아이디문제언어결과실행 시간메모리
1138307KhoaDuy길고양이 (JOI20_stray)C++20
0 / 100
40 ms9800 KiB
#include "Anthony.h" #include<bits/stdc++.h> using namespace std; vector<int> pat={0,1,0,0,1,1}; vector<vector<pair<int,int>>> graph; void DFS(int u,int p,vector<int> &val,int last){ if(graph[u].size()==2){ for(pair<int,int> &x:graph[u]){ int v=x.first,idx=x.second; if(v!=p){ val[idx]=pat[(last+1)%pat.size()]; DFS(v,u,val,(last+1)%pat.size()); } } } else{ for(pair<int,int> &x:graph[u]){ int v=x.first,idx=x.second; if(v!=p){ val[idx]=(pat[last]^1); DFS(v,u,val,val[idx]); } } } } vector<int> Mark(int n,int m,int a,int b,vector<int> e1,vector<int> e2){ if(b==0){ return {}; } graph.clear(); graph.resize(n); for(int i=0;i<m;i++){ graph[e1[i]].push_back({e2[i],i}); graph[e2[i]].push_back({e1[i],i}); } vector<int> val(m); DFS(0,-1,val,5); return val; }
#include "Catherine.h" #include<bits/stdc++.h> using namespace std; vector<int> pat={0,1,0,0,1,1}; int a,b; int last=-1; vector<int> seq; bool know=false; void Init(int A,int B){ seq.clear(); seq.resize(0); know=false; last=-1; a=A,b=B; } int Move(vector<int> y){ if(b==0){ return -1; } int deg=(last!=-1); for(int i=0;i<a;i++){ deg+=y[i]; } if(deg==2){ if(know){ for(int i=0;i<a;i++){ if(y[i]>0){ last=i; return i; } } } for(int i=0;i<a;i++){ for(int j=0;j<y[i];j++){ seq.push_back(i); } } if(seq.size()==5){ bool wrong=false; for(int i=0;i<pat.size();i++){ bool flag=true; for(int j=0;j<seq.size();j++){ if(seq[j]!=pat[(i+j)%pat.size()]){ flag=false; break; } } if(flag){ wrong=true; break; } } seq.clear(); seq.resize(0); know=true; if(wrong){ return -1; } last=seq.back(); assert(y[seq.back()]>0); return seq.back(); } last=seq.back(); assert(y[last]>0); return last; } else{ if(last!=-1){ y[last]++; } int Minidx=-1; for(int i=0;i<a;i++){ if((Minidx==-1||y[i]<y[Minidx])&&y[i]>0){ Minidx=i; } } know=true; if(last==Minidx){ return -1; } last=Minidx; return Minidx; } }
#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...