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 "monster.h"
#include <bits/stdc++.h>
#define elif else if
#define pb push_back
using namespace std;
const int N=205;
int n,s[N],in[N],out[N];
bool b[N][N],adj[N][N];
namespace {
bool example_variable;
} // namespace
int res(int x,int y){
if (abs(x-y)==1) return x<y;
return x>y;
}
std::vector<int> Solve(int N) {
n=N;
for (int i=0;i<n;i++){
for (int j=i+1;j<n;j++){
b[i][j]=Query(i,j);
b[j][i]=!b[i][j];
}
}
if (n==4){
vector<int> a={0,1,2,3};
do{
bool ok=true;
for (int i=0;i<n;i++){
for (int j=i+1;j<n;j++){
if (res(a[i],a[j])==b[i][j]) continue;
ok=false;
}
}
if (!ok) continue;
return a;
}while (next_permutation(a.begin(),a.end()));
}
for (int i=0;i<n;i++){
for (int j=0;j<n;j++){
if (!b[i][j]) continue;
for (int k=0;k<n;k++){
if (!b[i][k] || !b[k][j]) continue;
adj[i][j]=true;
in[j]++;
out[i]++;
break;
}
}
}
for (int i=0;i<n;i++) s[i]=out[i]+1;
for (int i=0;i<n;i++){
for (int j=i+1;j<n;j++){
if (out[i]!=out[j]) continue;
if (in[i]<in[j]) s[j]--;
else s[i]--;
}
}vector<int> ans;
for (int i=0;i<n;i++) ans.pb(s[i]);
return ans;
}
Compilation message (stderr)
monster.cpp:11:6: warning: '{anonymous}::example_variable' defined but not used [-Wunused-variable]
11 | bool example_variable;
| ^~~~~~~~~~~~~~~~
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |