This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include <bits/stdc++.h>
#include "Anthony.h"
using namespace std;
#define all(v) v.begin() ,v.end()
namespace{
vector <vector<pair<int ,int>>> adj;
vector <int> enc ,seq = {0,0,1,0,1,1};
void dfs(int u ,int d=0 ,bool bef=0){
for(auto&e : adj[u]){
adj[e.first].erase(find(all(adj[e.first]) ,make_pair(u ,e.second)));
if(adj[u].size() > 1){
enc[e.second] = bef^1;
dfs(e.first ,0 ,enc[e.second]);
}else{
if(d == 0) d = (bef? 0 : 2);
enc[e.second] = seq[d%6];
dfs(e.first ,d+1 ,enc[e.second]);
}
}
}
}
vector <int> Mark(int N, int M, int A, int B,vector<int> U,vector<int> V){
assert(M == N-1);
adj.resize(N);
enc.resize(M);
for(int i=0; i<M; i++){
adj[U[i]].push_back({V[i] ,i});
adj[V[i]].push_back({U[i] ,i});
}
dfs(0);
return enc;
}
/**
001011
001101
010011
010110
011001
011010
100101
100110
101001
101100
110010
110100
*/
#include <bits/stdc++.h>
#include "Catherine.h"
using namespace std;
namespace{
int lst;
vector <int> bef ,seq = {0,0,1,0,1,1};
}
void Init(int A, int B) { }
int Move(vector<int> y){
if(!y[0] && !y[1]){
bef.clear();
return -1;
}
if(!y[0] && y[1] > 1){
bef.clear();
return -1;
}
if(!y[1] && y[0] > 1){
bef.clear();
return -1;
}
if(y[0] == 1 && y[1] > 1){
bef.clear();
return lst = 0;
}
if(y[1] == 1 && y[0] > 1){
bef.clear();
return lst = 1;
}
if(bef.size() == 6){
for(int t=0; t<6; t++){
if(bef == seq){
bef.clear();
return -1;
}
seq.insert(seq.begin() ,seq.back()) ,seq.pop_back();
}
}
if(y[lst^1])
lst ^= 1;
bef.push_back(lst);
return lst;
}
# | 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... |