#include "bits/stdc++.h"
#include "grader.h"
int query(vector<int> v);
typedef long long ll;
#define pb push_back
vector<int>v,a[5],h;
ll f[307];
void solve(int n){
for(int i=1;i<=n;i++){
v.pb(i);
}
ll x=query(v);
if(x==n)return ;
for(int i=1;i<n;i++){
swap(v[0],v[i]);
ll y=query(v);
a[y-x+2].pb(i);
swap(v[0],v[i]);
}
if(a[2].size()==0 && a[3].size()==0 && a[4].size()==0){
f[0]=1;
for(auto it:a[0]){
f[it]=1;
}
}else{
for(auto it:a[1]){
f[it]=1;
}
if(a[4].size()==1){
swap(v[0],v[a[4][0]]);
f[0]=1;
f[a[4][0]]=1;
x+=2;
}else{
swap(v[0],v[a[3][0]]);
swap(v[0],v[a[3][1]]);
ll y=query(v);
if(y==n)return ;
if(y-x==2){
f[0]=1;
f[a[3][0]]=1;
x=y;
}else if(y-x==3){
f[0]=1;
f[a[3][0]]=1;
f[a[3][1]]=1;
x=y;
}else{
swap(v[0],v[a[3][1]]);
swap(v[0],v[a[3][0]]);
swap(v[0],v[a[3][1]]);
swap(v[0],v[a[3][0]]);
y=query(v);
if(y==n)return ;
if(y-x==2){
f[0]=1;
f[a[3][1]]=1;
x=y;
}else if(y-x==3){
f[0]=1;
f[a[3][0]]=1;
f[a[3][1]]=1;
x=y;
}
}
}
}
h.pb(0);
while(h.size()>0){
h.clear();
for(int i=0;i<n;i++){
if(f[i]==0){
h.pb(i);
//cout<<i<<" ";
}
}
for(int i=1;i<h.size();i++){
swap(v[h[i-1]],v[h[i]]);
}
if(h.size()!=2)swap(v[h[0]],v[h[h.size()-1]]);
ll y=query(v);
if(y==n)return ;
if(x!=y){
for(auto i:h){
swap(v[0],v[i]);
ll z=query(v);
if(z-y==-2){
f[i]=1;
}
swap(v[0],v[i]);
}
}
}
return ;
}
Compilation message
mouse.cpp: In function 'void solve(int)':
mouse.cpp:87:22: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
87 | for(int i=1;i<h.size();i++){
| ~^~~~~~~~~
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
1 ms |
208 KB |
Correct! Number of queries: 20 |
2 |
Correct |
0 ms |
208 KB |
Correct! Number of queries: 7 |
3 |
Correct |
1 ms |
208 KB |
Correct! Number of queries: 14 |
4 |
Correct |
1 ms |
208 KB |
Correct! Number of queries: 21 |
5 |
Correct |
1 ms |
208 KB |
Correct! Number of queries: 18 |
6 |
Correct |
1 ms |
208 KB |
Correct! Number of queries: 18 |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
1 ms |
208 KB |
Correct! Number of queries: 20 |
2 |
Correct |
0 ms |
208 KB |
Correct! Number of queries: 7 |
3 |
Correct |
1 ms |
208 KB |
Correct! Number of queries: 14 |
4 |
Correct |
1 ms |
208 KB |
Correct! Number of queries: 21 |
5 |
Correct |
1 ms |
208 KB |
Correct! Number of queries: 18 |
6 |
Correct |
1 ms |
208 KB |
Correct! Number of queries: 18 |
7 |
Correct |
11 ms |
208 KB |
Correct! Number of queries: 900 |
8 |
Correct |
10 ms |
208 KB |
Correct! Number of queries: 900 |
9 |
Correct |
12 ms |
208 KB |
Correct! Number of queries: 800 |
10 |
Correct |
8 ms |
208 KB |
Correct! Number of queries: 700 |
11 |
Correct |
8 ms |
208 KB |
Correct! Number of queries: 700 |
12 |
Correct |
8 ms |
208 KB |
Correct! Number of queries: 800 |
13 |
Correct |
12 ms |
280 KB |
Correct! Number of queries: 800 |
14 |
Correct |
9 ms |
208 KB |
Correct! Number of queries: 800 |
15 |
Correct |
12 ms |
208 KB |
Correct! Number of queries: 800 |
16 |
Correct |
10 ms |
208 KB |
Correct! Number of queries: 900 |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
1 ms |
208 KB |
Correct! Number of queries: 20 |
2 |
Correct |
0 ms |
208 KB |
Correct! Number of queries: 7 |
3 |
Correct |
1 ms |
208 KB |
Correct! Number of queries: 14 |
4 |
Correct |
1 ms |
208 KB |
Correct! Number of queries: 21 |
5 |
Correct |
1 ms |
208 KB |
Correct! Number of queries: 18 |
6 |
Correct |
1 ms |
208 KB |
Correct! Number of queries: 18 |
7 |
Correct |
11 ms |
208 KB |
Correct! Number of queries: 900 |
8 |
Correct |
10 ms |
208 KB |
Correct! Number of queries: 900 |
9 |
Correct |
12 ms |
208 KB |
Correct! Number of queries: 800 |
10 |
Correct |
8 ms |
208 KB |
Correct! Number of queries: 700 |
11 |
Correct |
8 ms |
208 KB |
Correct! Number of queries: 700 |
12 |
Correct |
8 ms |
208 KB |
Correct! Number of queries: 800 |
13 |
Correct |
12 ms |
280 KB |
Correct! Number of queries: 800 |
14 |
Correct |
9 ms |
208 KB |
Correct! Number of queries: 800 |
15 |
Correct |
12 ms |
208 KB |
Correct! Number of queries: 800 |
16 |
Correct |
10 ms |
208 KB |
Correct! Number of queries: 900 |
17 |
Runtime error |
152 ms |
284 KB |
Execution killed with signal 13 |
18 |
Halted |
0 ms |
0 KB |
- |