Submission #291494

#TimeUsernameProblemLanguageResultExecution timeMemory
291494zoooma13Stray Cat (JOI20_stray)C++14
0 / 100
56 ms28760 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; } /** 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] && y[0]){ bef.clear(); return lst = 0; } if(y[1] < y[0] && y[1]){ bef.clear(); return lst = 1; } assert(y[0] == y[1] && y[0] == 1); if(bef.size() == 6){ for(int t=0; t<6; t++){ if(bef == seq) return -1; seq.insert(seq.begin() ,seq.back()) ,seq.pop_back(); } } if(!y[0] && !y[1]){ bef.clear(); return -1; } 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...