Submission #1285259

#TimeUsernameProblemLanguageResultExecution timeMemory
1285259goulthenPermutation Game (APIO25_permgame)C++20
24 / 100
4 ms412 KiB
#include "permgame.h" #include <bits/stdc++.h> using namespace std; #define rep(i,a,b) for(int i = a; i <= b; ++i) #define pb push_back #define fi first #define se second #define pii pair<int,int> int Alice(int m, int e, std::vector<int> u, std::vector<int> v, int n, std::vector<int> p) { int cnt = 0; rep(i,0,n-1) if (p[i]==i) cnt++; if(cnt>=n-m+1) return cnt; int opt = cnt; vector<bool> mk(n); rep(i,0,n-1) { if(p[i]==i || mk[i]) continue; int st = i,sz=0; while (!mk[st]){ sz++; mk[st]=1; st=p[st]; } if(sz%2==1) opt++; } while(1){ vector<int> t(m); bool ok = 1; rep(i,0,n-1) { if(p[p[i]] == i) continue; ok=0; t[0] = i; t[1] = p[i]; t[2] = p[p[i]]; } if(ok)break; int k = Bob(t); swap(p[t[u[k]]], p[t[v[k]]]); cnt = 0; rep(i,0,n-1) if (p[i]==i) cnt++; if(cnt==opt)break; } return cnt; }
#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...