QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#332360 | #8239. Mysterious Tree | A1922 | WA | 1ms | 3608kb | C++14 | 2.8kb | 2024-02-19 14:48:54 | 2024-02-19 14:48:55 |
Judging History
answer
#include<bits/stdc++.h>
#define int long long
int y[100005][4],f[100005][4];
using namespace std;
signed main()
{
int t;
cin>>t;
while(t--)
{
int j,f=0;
int an;
int n;
cin>>n;
for(int i=1; i<=(n/2)+1; i+=2)
{
j=i+1;
cout<<"?"<<' '<<i<<' '<<j<<endl;
cout.flush();
cin>>an;
if(an==1)
{
f=1;
break;
}
}
if(f==1)
{
if(j>3)
{
cout<<'?'<<' '<<j<<' '<<j-2<<endl;
cout.flush();
cin>>an;
if(an==1)
{
cout<<'?'<<' '<<j<<' '<<j-3<<endl;
cout.flush();
cin>>an;
if(an==1)f=1;
else f=0;
}
else
{
cout<<'?'<<' '<<j-1<<' '<<j-2<<endl;
cout.flush();
cin>>an;
if(an==1)
{
cout<<'?'<<' '<<j-1<<' '<<j-3<<endl;
cout.flush();
cin>>an;
if(an==1)f=1;
else f=0;
}
else f=0;
}
}
else
{
cout<<'?'<<' '<<j<<' '<<j+2<<endl;
cout.flush();
cin>>an;
if(an==1)
{
cout<<'?'<<' '<<j<<' '<<j+1<<endl;
cout.flush();
cin>>an;
if(an==1)f=1;
else f=0;
}
else
{
cout<<'?'<<' '<<j-1<<' '<<j+2<<endl;
cout.flush();
cin>>an;
if(an==1)
{
cout<<'?'<<' '<<j-1<<' '<<j+1<<endl;
cout.flush();
cin>>an;
if(an==1)f=1;
else f=0;
}
else f=0;
}
}
}
else if(n%2==1)
{
cout<<'?'<<' '<<n<<' '<<n-1<<endl;
cout.flush();
cin>>an;
if(an==1)
{
cout<<'?'<<' '<<n<<' '<<n-2<<endl;
cout.flush();
cin>>an;
if(an==1)f=1;
else f=0;
}
else f=0;
}
if(f==1)cout<<'!'<<' '<<'2'<<endl;
else cout<<'!'<<' '<<'1'<<endl;
cout.flush();
}
return 0;
}
Details
Tip: Click on the bar to expand more detailed information
Test #1:
score: 100
Accepted
time: 0ms
memory: 3608kb
input:
2 4 1 0 0 4 0 1 0 1 1
output:
? 1 2 ? 2 4 ? 1 4 ! 1 ? 1 2 ? 3 4 ? 4 2 ? 3 2 ? 3 1 ! 2
result:
ok Correct (2 test cases)
Test #2:
score: -100
Wrong Answer
time: 1ms
memory: 3540kb
input:
87 13 0 0 0 0 1 0
output:
? 1 2 ? 3 4 ? 5 6 ? 7 8 ? 13 12 ? 13 11 ! 1
result:
wrong answer Wrong prediction (test case 1)