#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 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... |