#include "xylophone.h"
#include <bits/stdc++.h>
using namespace std;
#define ll long long
static int A[5000];
int b[5005];
int e[5005];
int c[5005];
int d[5005];
void solve(int n) {
for(int i=1;i+1<=n;i++){
c[i]=query(i,i+1);
}
for(int i=1;i+2<=n;i++){
d[i]=query(i,i+2);
}
for(int i=1;i<=n;i++){
for(int j=1;j<=n;j++){
b[j]=0;
e[j]=0;
}
b[i]=1;
b[i+1]=c[i]+1;
for(int j=i+2;j<=n;j++){
if(c[j-2]+c[j-1]!=d[j-2]){
b[j]=b[j-1]-c[j-1];
}
else{
b[j]=b[j-1]+c[j-1];
}
}
b[i-1]=c[i-1]+1;
for(int j=i-2;j>=1;j--){
if(c[j+1]+c[j]!=d[j]){
b[j]=b[j+1]-c[j];
}
else{
b[j]=b[j+1]+c[j];
}
}
bool ok=1;
for(int j=1;j<=n;j++){
if(b[j]<1||b[j]>n||e[b[j]]){
ok=0;
break;
}
e[b[j]]=1;
}
if(ok){
for(int j=1;j<=n;j++){
answer(j,b[j]);
// cout<<b[j]<<' ';
}
// cout<<'\n';
return;
}
}
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |