Submission #1234933

#TimeUsernameProblemLanguageResultExecution timeMemory
1234933HanksburgerPermutation Game (APIO25_permgame)C++20
24 / 100
1 ms328 KiB
#include "permgame.h" #include <bits/stdc++.h> using namespace std; vector<vector<int> > perm; vector<int> adj[405]; int ans; void computePerm(vector<int> P) { int visited[405]={}; ans=0; perm.clear(); for (int i=0; i<P.size(); i++) { if (visited[i]) continue; vector<int> tmp; int cur=i; while (!visited[cur]) { tmp.push_back(cur); visited[cur]=1; cur=P[cur]; } if (tmp.size()==1) ans++; else perm.push_back(tmp); } } int Alice(int M, int E, vector<int> U, vector<int> V, int N, vector<int> P) { computePerm(P); while (1) { int updated=0; for (int i=0; i<perm.size(); i++) { if (perm[i].size()&1) { updated=1; vector<int> tmp; tmp.push_back(perm[i][0]); tmp.push_back(perm[i][1]); tmp.push_back(perm[i][2]); int edge=Bob(tmp); swap(P[tmp[U[edge]]], P[tmp[V[edge]]]); computePerm(P); break; } } if (!updated) break; } return ans; }
#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...