# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
1274451 | hccoder | Permutation Game (APIO25_permgame) | C++20 | 3 ms | 348 KiB |
#include <bits/stdc++.h>
using namespace std;
int Bob(std::vector<int> t);
int Alice(int m, int e, std::vector<int> u, std::vector<int> v, int n, std::vector<int> p){
if (m==2){
map<int, int> mp;
for (int i = 0; i<n; i++) mp[p[i]] = i;
for (int i = 0; i<n; i++){
if (p[i]!=i){
int x = mp[i];
Bob({i, x});
mp[p[i]] = x;
mp[i] = i;
swap(p[i], p[x]);
}
}
return n;
}
else if (m==3 && e==3){
int res = 0;
vector<int> vis(n);
for (int i = 0; i<n; i++){
int j = i;
int cnt = 0;
while (!vis[j]){
vis[j] = 1;
j = p[j];
cnt++;
}
if (cnt & 1) res++;
}
for (int i = 0; i<10*n; i++){
for (int j = 0; j<n; j++){
int x = p[j];
int y = p[x];
int z = p[y];
if (x!=y && y!=z && x!=z) {
vector<int> h{x, y, z};
int r = Bob(h);
int a = h[v[r]], b = h[u[r]];
swap(p[a], p[b]);
break;
}
}
}
return res;
}
}
Compilation message (stderr)
# | 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... |