#include "monster.h"
#define pb push_back
#include<bits/stdc++.h>
using namespace std;
vector<int> adj[205];
int id[205],Q[205][205];
std::vector<int> Solve(int N){
std::vector<int> T(N);
for(int i=0;i<=N;i++) adj[i].clear();
for(int i=0;i<N;i++){
for(int j=i+1;j<N;j++){
Q[i][j]=Query(i,j);
Q[j][i]=1-Q[i][j];
}
}
for(int i=0;i<N;i++){
int cnt=0;
for(int j=0;j<N;j++){
if(i==j) continue ;
if(Q[i][j])++cnt;
}
adj[cnt].pb(i);
}
for(int i=2;i<=N-3;i++){
id[i]=adj[i][0];
T[adj[i][0]]=i;
}
if(Q[adj[1][0]][adj[1][1]]){
id[0]=adj[1][0];
id[1]=adj[1][1];
T[id[0]]=0;
T[id[1]]=1;
}
else{
id[0]=adj[1][1];
id[1]=adj[1][0];
T[id[0]]=0;
T[id[1]]=1;
}
if(Q[adj[N-2][0]][adj[N-2][1]]){
id[N-2]=adj[N-2][0];
id[N-1]=adj[N-2][1];
T[id[N-1]]=N-1;
T[id[N-2]]=N-2;
}
else{
id[N-2]=adj[N-2][1];
id[N-1]=adj[N-2][0];
T[id[N-1]]=N-1;
T[id[N-2]]=N-2;
}
return T;
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |