#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();
return seq.back();
}
last=seq.back();
return last;
}
else{
if(last!=-1){
y[last]++;
}
int Minidx=0;
for(int i=1;i<a;i++){
if(y[i]<y[Minidx]&&y[i]>0){
Minidx=i;
}
}
know=true;
if(last==Minidx){
return -1;
}
last=Minidx;
return Minidx;
}
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |