Submission #291488

#TimeUsernameProblemLanguageResultExecution timeMemory
291488zoooma13Stray Cat (JOI20_stray)C++14
0 / 100
43 ms16472 KiB
#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))); enc[e.second] = (adj[u].size() == 1? seq[d%6] : bef^1); 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; }
#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] && y[0]) return lst = 0; if(y[1] < y[0] && y[1]) return lst = 1; if(bef.size() == 6){ for(int t=0; t<6; t++){ if(bef == seq) return -1; bef.insert(bef.begin() ,bef.back()); bef.pop_back(); } } bef.push_back(lst ^= 1); return lst; }
#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...