This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include <bits/stdc++.h>
using namespace std;
//#define int long long
#include "swaps.h"
#define pi pair<int, int>
#define pii pair<int, pi>
#define fi first
#define se second
#ifdef _WIN32
#define getchar_unlocked _getchar_nolock
#endif
mt19937_64 rng(chrono::steady_clock::now().time_since_epoch().count());
int cnt[505], vis[505], stuf[505][505], ans[505];
bool cmp(int a, int b){
return cnt[a] > cnt[b];
}
void solve(int N, int V) {
for(int i=1;i<N;i++){
vector <pi> bru;
for(int j=1;j<=N;j++)vis[j] = 0;
for(int j=1;j<=N;j++){
int tmp = j + i;
if(tmp > N)tmp -= N;
if(!stuf[j][tmp] && !vis[j] && !vis[tmp]){
schedule(j, tmp);
vis[j] = 1;
vis[tmp] = 1;
stuf[tmp][j] = stuf[j][tmp] = 1;
bru.push_back({j, tmp});
}
}
vector <int> ret = visit();
for(int j=0;j<(int)ret.size();j++){
if(ret[j])cnt[bru[j].fi]++;
else cnt[bru[j].se]++;
}
}
for(int i=1;i<N;i++){
vector <pi> bru;
for(int j=1;j<=N;j++)vis[j] = 0;
for(int j=1;j<=N;j++){
int tmp = j + i;
if(tmp > N)tmp -= N;
if(!stuf[j][tmp] && !vis[j] && !vis[tmp]){
schedule(j, tmp);
vis[j] = 1;
vis[tmp] = 1;
stuf[tmp][j] = stuf[j][tmp] = 1;
bru.push_back({j, tmp});
}
}
vector <int> ret = visit();
for(int j=0;j<(int)ret.size();j++){
if(ret[j])cnt[bru[j].fi]++;
else cnt[bru[j].se]++;
}
}
vector <int> brr;
for(int i=1;i<=N;i++)brr.push_back(i);
// sort(brr.begin(), brr.end(), cmp);
answer(brr);
}
# | 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... |
# | 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... |