QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#116911#6668. Trokutixtqqwq#100 ✓23ms4088kbC++144.5kb2023-06-30 10:35:422024-05-31 18:34:24

Judging History

你现在查看的是最新测评结果

  • [2024-05-31 18:34:24]
  • 评测
  • 测评结果:100
  • 用时:23ms
  • 内存:4088kb
  • [2023-08-10 23:21:45]
  • System Update: QOJ starts to keep a history of the judgings of all the submissions.
  • [2023-06-30 10:35:42]
  • 提交

answer

#include<bits/stdc++.h>

#define pb push_back
#define fi first
#define se second
#define mp make_pair

using namespace std;

typedef long long ll;
typedef unsigned long long ull;
typedef pair<int,int> pii;
typedef pair<ll,ll> pll;
typedef long double ld;

template <typename T> bool chkmin(T &x,T y){return x>y?x=y,1:0;}
template <typename T> bool chkmax(T &x,T y){return x<y?x=y,1:0;}

int readint(){
	int x=0,f=1; char ch=getchar();
	while(ch<'0'||ch>'9'){if(ch=='-')f=-1;ch=getchar();}
	while(ch>='0'&&ch<='9'){x=x*10+ch-'0';ch=getchar();}
	return x*f;
}

int test=0;
int n=100,cur;
int ans[40],c[105][105],col[105],f[105],tr[105][105];
vector<int> adj[105];
bool vis[105];
mt19937 mrand(1);

int ask(int x,int y,int z){
	printf("? %d %d %d\n",x,y,z);
	fflush(stdout);
	if(test){
		int ret=tr[x][y]+tr[x][z]+tr[y][z];
		cout<<ret<<endl;
		return ret;
	}
	return readint();
}

int getf(int x){return x==f[x]?x:f[x]=getf(f[x]);}

void merge(int x,int y){
	int fx=getf(x),fy=getf(y);
	if(fx==fy) return;
	f[fx]=fy;
}

void dfs(int u){
	vis[u]=1;
	for(auto v:adj[u]){
		if(vis[v]) continue;
		c[cur][v]=c[v][cur]=c[cur][u]^1;
		dfs(v);
	}
}

void color(int u,int fa){
	for(auto v:adj[u]){
		if(v==fa) continue;
		col[v]=col[u]^1;
		color(v,u);
	}
}

void init(){
	for(int i=1;i<=n;i++) for(int j=1;j<=n;j++) c[i][j]=-1;
	for(int i=1;i<=n;i++) c[i][i]=0;
	for(int i=0;i<(1<<5);i++){
		vector<int> vec;
		for(int j=0;j<5;j++) if((i>>j)&1) vec.pb(j+1);
		if(vec.size()==3) ans[i]=ask(vec[0],vec[1],vec[2]);
	}
	for(int i=0;i<(1<<10);i++){
		int num=0;
		for(int j=1;j<=5;j++){
			for(int k=j+1;k<=5;k++){
				c[j][k]=c[k][j]=(i>>num)&1;
				num++;
			}
		}
		bool fl=0;
		for(int j=0;j<(1<<5);j++){
			vector<int> vec;
			for(int k=0;k<5;k++) if((j>>k)&1) vec.pb(k+1);
			if(vec.size()==3){
				if(c[vec[0]][vec[1]]+c[vec[0]][vec[2]]+c[vec[1]][vec[2]]!=ans[j]) fl=1;
			}
		}
		if(!fl) break;
	}
	for(int i=6;i<=n;i++){
		cur=i;
		vector<int> vec;
		for(int j=1;j<i;j++) vec.pb(j);
		for(int j=1;j<i;j++) adj[j].clear();
		for(int j=1;j<i;j++) vis[j]=0;
		while(vec.size()>1){
			int x=mrand()%vec.size(),y=mrand()%(vec.size()-1);
			if(x==y) y++;
			int tmp=ask(vec[x],vec[y],i)-c[vec[x]][vec[y]];
			if(tmp==0) c[i][vec[x]]=c[vec[x]][i]=c[i][vec[y]]=c[vec[y]][i]=0;
			else if(tmp==2) c[i][vec[x]]=c[vec[x]][i]=c[i][vec[y]]=c[vec[y]][i]=1;
			else adj[vec[x]].pb(vec[y]),adj[vec[y]].pb(vec[x]);
			vector<int> th;
			for(auto r:vec) if(r!=vec[x]&&r!=vec[y]) th.pb(r);
			swap(vec,th);
		}
		if(vec.size()==1){
			int x=vec[0],y=1;
			if(x==y) y++;
			int tmp=ask(i,x,y)-c[x][y];
			if(tmp==0) c[i][x]=c[x][i]=c[i][y]=c[y][i]=0;
			else if(tmp==2) c[i][x]=c[x][i]=c[i][y]=c[y][i]=1;
			else adj[x].pb(y),adj[y].pb(x);
		}
		for(int j=1;j<i;j++) if(!vis[j]&&c[i][j]>=0) dfs(j);
		for(int j=1;j<i;j++) f[j]=j;
		for(int j=1;j<i;j++) for(auto v:adj[j]) merge(j,v);
		for(int j=1;j<i;j++){
			if(c[i][j]>=0) continue;
			for(int k=j+1;k<i;k++){
				if(c[i][k]>=0) continue;
				if(getf(j)==getf(k)) continue;
				int tmp=ask(j,k,i)-c[j][k];
				if(tmp==0){
					c[i][j]=c[j][i]=c[i][k]=c[k][i]=0;
					dfs(j);
					if(!vis[k]) dfs(k);
					break;
				}
				else if(tmp==2){
					c[i][j]=c[j][i]=c[i][k]=c[k][i]=1;
					dfs(j);
					if(!vis[k]) dfs(k);
					break;
				}
				else adj[j].pb(k),adj[k].pb(j),merge(j,k);
			}
		}
		for(int j=1;j<i;j++){
			if(c[i][j]>=0) continue;
			col[j]=0; color(j,-1);
		}
		pii cho=mp(0,0);
		for(int j=1;j<i;j++)
			for(int k=1;k<i;k++)
				if(j!=k&&c[i][j]==-1&&(c[i][k]>=0||(c[i][k]==-1&&col[j]==col[k]))) cho=mp(j,k);
		if(cho.fi==0) continue;
		if(c[i][cho.se]>=0){
			int tmp=ask(cho.fi,cho.se,i)-c[cho.fi][cho.se]-c[i][cho.se];
			c[i][cho.fi]=c[cho.fi][i]=tmp;
			dfs(cho.fi);
		}
		else{
			int tmp=ask(cho.fi,cho.se,i)-c[cho.fi][cho.se];
			if(tmp==0){
				c[i][cho.fi]=c[cho.fi][i]=c[i][cho.se]=c[cho.se][i]=0;
				dfs(cho.fi);
			}
			else{
				c[i][cho.fi]=c[cho.fi][i]=c[i][cho.se]=c[cho.se][i]=1;
				dfs(cho.fi);
			}
		}
	}
	// for(int i=1;i<=n;i++){
	// 	for(int j=1;j<=n;j++) putchar(tr[i][j]+'0');
	// 	putchar('\n');
	// }
	// putchar('\n');
	printf("!\n");
	for(int i=1;i<=n;i++){
		for(int j=1;j<=n;j++) putchar(c[i][j]+'0');
		putchar('\n');
	}
	if(test){
		for(int i=1;i<=n;i++) for(int j=1;j<=n;j++) assert(tr[i][j]==c[i][j]);
	}
	fflush(stdout);
}

int main(){
	if(test){
		for(int i=1;i<=n;i++) for(int j=i+1;j<=n;j++) tr[i][j]=tr[j][i]=mrand()&1;
	}
	init();
	return 0;
}

詳細信息

Subtask #1:

score: 100
Accepted

Test #1:

score: 100
Accepted
time: 7ms
memory: 3828kb

input:

0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
...

output:

? 1 2 3
? 1 2 4
? 1 3 4
? 2 3 4
? 1 2 5
? 1 3 5
? 2 3 5
? 1 4 5
? 2 4 5
? 3 4 5
? 1 4 6
? 2 3 6
? 6 5 1
? 2 4 7
? 6 5 7
? 3 1 7
? 5 4 8
? 2 6 8
? 3 1 8
? 8 7 1
? 7 4 9
? 3 2 9
? 6 1 9
? 5 8 9
? 7 5 10
? 8 3 10
? 9 4 10
? 6 1 10
? 10 2 1
? 8 7 11
? 2 6 11
? 10 3 11
? 1 5 11
? 9 4 11
? 3 4 12
? 1 8 12...

result:

points 1.0 points  1.0 correct 2504 queries

Test #2:

score: 100
Accepted
time: 8ms
memory: 3816kb

input:

3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
...

output:

? 1 2 3
? 1 2 4
? 1 3 4
? 2 3 4
? 1 2 5
? 1 3 5
? 2 3 5
? 1 4 5
? 2 4 5
? 3 4 5
? 1 4 6
? 2 3 6
? 6 5 1
? 2 4 7
? 6 5 7
? 3 1 7
? 5 4 8
? 2 6 8
? 3 1 8
? 8 7 1
? 7 4 9
? 3 2 9
? 6 1 9
? 5 8 9
? 7 5 10
? 8 3 10
? 9 4 10
? 6 1 10
? 10 2 1
? 8 7 11
? 2 6 11
? 10 3 11
? 1 5 11
? 9 4 11
? 3 4 12
? 1 8 12...

result:

points 1.0 points  1.0 correct 2504 queries

Test #3:

score: 100
Accepted
time: 0ms
memory: 3740kb

input:

0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
...

output:

? 1 2 3
? 1 2 4
? 1 3 4
? 2 3 4
? 1 2 5
? 1 3 5
? 2 3 5
? 1 4 5
? 2 4 5
? 3 4 5
? 1 4 6
? 2 3 6
? 6 5 1
? 2 4 7
? 6 5 7
? 3 1 7
? 5 4 8
? 2 6 8
? 3 1 8
? 8 7 1
? 7 4 9
? 3 2 9
? 6 1 9
? 5 8 9
? 7 5 10
? 8 3 10
? 9 4 10
? 6 1 10
? 10 2 1
? 8 7 11
? 2 6 11
? 10 3 11
? 1 5 11
? 9 4 11
? 3 4 12
? 1 8 12...

result:

points 1.0 points  1.0 correct 2504 queries

Test #4:

score: 100
Accepted
time: 8ms
memory: 3748kb

input:

3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
...

output:

? 1 2 3
? 1 2 4
? 1 3 4
? 2 3 4
? 1 2 5
? 1 3 5
? 2 3 5
? 1 4 5
? 2 4 5
? 3 4 5
? 1 4 6
? 2 3 6
? 6 5 1
? 2 4 7
? 6 5 7
? 3 1 7
? 5 4 8
? 2 6 8
? 3 1 8
? 8 7 1
? 7 4 9
? 3 2 9
? 6 1 9
? 5 8 9
? 7 5 10
? 8 3 10
? 9 4 10
? 6 1 10
? 10 2 1
? 8 7 11
? 2 6 11
? 10 3 11
? 1 5 11
? 9 4 11
? 3 4 12
? 1 8 12...

result:

points 1.0 points  1.0 correct 2505 queries

Test #5:

score: 100
Accepted
time: 2ms
memory: 3764kb

input:

0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
...

output:

? 1 2 3
? 1 2 4
? 1 3 4
? 2 3 4
? 1 2 5
? 1 3 5
? 2 3 5
? 1 4 5
? 2 4 5
? 3 4 5
? 1 4 6
? 2 3 6
? 6 5 1
? 2 4 7
? 6 5 7
? 3 1 7
? 5 4 8
? 2 6 8
? 3 1 8
? 8 7 1
? 7 4 9
? 3 2 9
? 6 1 9
? 5 8 9
? 7 5 10
? 8 3 10
? 9 4 10
? 6 1 10
? 10 2 1
? 8 7 11
? 2 6 11
? 10 3 11
? 1 5 11
? 9 4 11
? 3 4 12
? 1 8 12...

result:

points 1.0 points  1.0 correct 2514 queries

Test #6:

score: 100
Accepted
time: 0ms
memory: 3792kb

input:

3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
2
3
3
3
3
3
3
2
3
3
3
3
3
3
3
3
3
3
3
3
3
...

output:

? 1 2 3
? 1 2 4
? 1 3 4
? 2 3 4
? 1 2 5
? 1 3 5
? 2 3 5
? 1 4 5
? 2 4 5
? 3 4 5
? 1 4 6
? 2 3 6
? 6 5 1
? 2 4 7
? 6 5 7
? 3 1 7
? 5 4 8
? 2 6 8
? 3 1 8
? 8 7 1
? 7 4 9
? 3 2 9
? 6 1 9
? 5 8 9
? 7 5 10
? 8 3 10
? 9 4 10
? 6 1 10
? 10 2 1
? 8 7 11
? 2 6 11
? 10 3 11
? 1 5 11
? 9 4 11
? 3 4 12
? 1 8 12...

result:

points 1.0 points  1.0 correct 2514 queries

Test #7:

score: 100
Accepted
time: 10ms
memory: 3816kb

input:

0
0
0
0
1
1
0
1
0
0
0
1
1
1
0
1
1
3
1
1
1
2
2
2
0
1
1
2
1
2
0
1
0
1
1
1
1
1
0
0
1
1
1
2
2
2
2
0
2
0
0
0
2
0
0
1
1
2
2
1
0
1
1
1
1
2
2
1
1
1
1
0
1
0
2
1
0
1
1
1
1
1
2
1
0
0
1
1
1
0
0
0
0
1
1
2
0
2
1
3
0
1
0
0
1
1
2
0
1
1
2
1
1
1
0
1
2
0
1
0
1
0
2
0
1
1
1
3
1
1
1
0
1
0
1
0
0
0
1
0
1
3
0
3
1
0
1
1
1
1
...

output:

? 1 2 3
? 1 2 4
? 1 3 4
? 2 3 4
? 1 2 5
? 1 3 5
? 2 3 5
? 1 4 5
? 2 4 5
? 3 4 5
? 1 4 6
? 2 3 6
? 6 5 1
? 3 5 6
? 2 4 7
? 6 5 7
? 3 1 7
? 1 5 7
? 5 4 8
? 2 6 8
? 3 1 8
? 8 7 1
? 1 2 8
? 5 7 8
? 7 4 9
? 3 2 9
? 6 1 9
? 5 8 9
? 1 2 9
? 1 5 9
? 8 7 9
? 7 5 10
? 8 3 10
? 9 4 10
? 6 1 10
? 10 2 1
? 1 4 1...

result:

points 1.0 points  1.0 correct 3081 queries

Test #8:

score: 100
Accepted
time: 0ms
memory: 3748kb

input:

3
1
1
1
2
2
1
1
0
0
0
1
1
1
1
2
1
2
0
0
1
1
3
1
1
2
2
0
0
1
1
1
2
1
0
3
3
2
0
0
1
0
2
2
2
1
0
1
2
2
2
2
1
2
0
2
1
2
2
1
1
1
1
1
0
1
0
2
2
1
0
0
2
2
2
2
0
1
0
2
2
2
2
1
1
1
0
0
1
0
1
2
2
1
2
1
2
2
0
1
1
1
1
2
2
3
2
1
3
2
1
1
0
0
2
3
2
0
1
1
2
0
3
1
1
2
1
0
0
0
0
2
2
0
3
1
0
1
2
1
1
2
2
1
1
2
1
1
2
0
...

output:

? 1 2 3
? 1 2 4
? 1 3 4
? 2 3 4
? 1 2 5
? 1 3 5
? 2 3 5
? 1 4 5
? 2 4 5
? 3 4 5
? 1 4 6
? 2 3 6
? 6 5 1
? 2 4 7
? 6 5 7
? 3 1 7
? 1 2 7
? 6 4 7
? 5 4 8
? 2 6 8
? 3 1 8
? 8 7 1
? 7 4 9
? 3 2 9
? 6 1 9
? 5 8 9
? 6 8 9
? 7 5 10
? 8 3 10
? 9 4 10
? 6 1 10
? 10 2 1
? 8 7 11
? 2 6 11
? 10 3 11
? 1 5 11
? ...

result:

points 1.0 points  1.0 correct 3254 queries

Test #9:

score: 100
Accepted
time: 0ms
memory: 3752kb

input:

2
2
3
1
2
3
1
2
0
2
2
1
3
3
0
2
3
0
1
0
3
3
3
1
1
2
3
2
2
3
3
3
0
2
2
0
3
0
2
3
0
0
2
3
2
1
0
2
1
1
0
3
0
1
2
1
2
2
2
3
1
3
2
0
2
2
2
3
2
2
2
1
2
2
2
3
0
3
1
1
1
0
0
2
2
3
3
0
3
2
2
2
1
1
1
2
0
2
2
3
0
3
3
3
3
0
2
0
0
1
2
1
3
2
0
0
2
3
1
3
1
2
1
0
3
2
2
3
3
2
0
0
1
0
3
3
2
2
2
1
0
1
1
1
3
3
0
1
0
2
...

output:

? 1 2 3
? 1 2 4
? 1 3 4
? 2 3 4
? 1 2 5
? 1 3 5
? 2 3 5
? 1 4 5
? 2 4 5
? 3 4 5
? 1 4 6
? 2 3 6
? 6 5 1
? 3 5 6
? 2 4 7
? 6 5 7
? 3 1 7
? 6 4 7
? 5 4 8
? 2 6 8
? 3 1 8
? 8 7 1
? 5 7 8
? 7 4 9
? 3 2 9
? 6 1 9
? 5 8 9
? 1 2 9
? 1 4 9
? 7 8 9
? 7 5 10
? 8 3 10
? 9 4 10
? 6 1 10
? 10 2 1
? 6 9 10
? 8 7 ...

result:

points 1.0 points  1.0 correct 3338 queries

Test #10:

score: 100
Accepted
time: 0ms
memory: 3744kb

input:

0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
...

output:

? 1 2 3
? 1 2 4
? 1 3 4
? 2 3 4
? 1 2 5
? 1 3 5
? 2 3 5
? 1 4 5
? 2 4 5
? 3 4 5
? 1 4 6
? 2 3 6
? 6 5 1
? 2 4 7
? 6 5 7
? 3 1 7
? 5 4 8
? 2 6 8
? 3 1 8
? 8 7 1
? 7 4 9
? 3 2 9
? 6 1 9
? 5 8 9
? 7 5 10
? 8 3 10
? 9 4 10
? 6 1 10
? 10 2 1
? 8 7 11
? 2 6 11
? 10 3 11
? 1 5 11
? 9 4 11
? 3 4 12
? 1 8 12...

result:

points 1.0 points  1.0 correct 2878 queries

Test #11:

score: 100
Accepted
time: 15ms
memory: 3708kb

input:

2
1
1
2
1
1
2
0
0
2
2
1
1
1
1
1
1
2
1
1
1
1
3
2
1
3
2
3
1
2
1
1
1
1
2
3
1
2
1
2
0
0
1
1
1
0
2
2
2
1
2
3
3
1
1
2
2
2
1
2
2
1
1
0
2
2
2
2
3
1
1
1
2
1
1
1
2
3
1
2
1
2
2
2
1
2
1
2
2
3
2
1
1
2
2
3
3
1
1
2
3
1
1
2
2
2
1
2
1
0
3
3
1
2
1
2
2
2
2
2
1
2
0
1
3
0
0
2
1
1
1
3
2
3
2
2
1
2
2
1
2
1
1
2
1
2
3
1
3
1
...

output:

? 1 2 3
? 1 2 4
? 1 3 4
? 2 3 4
? 1 2 5
? 1 3 5
? 2 3 5
? 1 4 5
? 2 4 5
? 3 4 5
? 1 4 6
? 2 3 6
? 6 5 1
? 2 4 7
? 6 5 7
? 3 1 7
? 1 2 7
? 6 4 7
? 5 4 8
? 2 6 8
? 3 1 8
? 8 7 1
? 1 2 8
? 5 7 8
? 7 4 9
? 3 2 9
? 6 1 9
? 5 8 9
? 6 8 9
? 7 5 10
? 8 3 10
? 9 4 10
? 6 1 10
? 10 2 1
? 3 4 10
? 3 5 10
? 8 7...

result:

points 1.0 points  1.0 correct 3298 queries

Test #12:

score: 100
Accepted
time: 0ms
memory: 3772kb

input:

1
1
1
3
1
2
2
1
1
2
0
2
2
3
2
2
0
1
2
1
1
1
2
2
3
2
1
2
0
1
1
1
0
0
2
0
3
1
3
2
3
1
1
2
2
2
1
1
0
3
1
2
2
1
2
1
0
2
2
0
2
2
0
1
2
0
0
2
0
2
1
2
2
2
0
2
0
1
3
2
2
1
1
1
2
1
0
0
1
1
1
1
3
1
1
1
2
1
2
3
2
1
2
2
1
2
3
2
2
1
1
2
1
1
2
0
2
1
1
1
3
1
0
2
1
1
0
2
1
0
2
1
2
2
3
0
1
1
1
2
2
1
3
1
1
2
2
0
3
1
...

output:

? 1 2 3
? 1 2 4
? 1 3 4
? 2 3 4
? 1 2 5
? 1 3 5
? 2 3 5
? 1 4 5
? 2 4 5
? 3 4 5
? 1 4 6
? 2 3 6
? 6 5 1
? 3 5 6
? 2 4 7
? 6 5 7
? 3 1 7
? 2 5 7
? 6 3 7
? 5 4 8
? 2 6 8
? 3 1 8
? 8 7 1
? 2 4 8
? 6 7 8
? 7 4 9
? 3 2 9
? 6 1 9
? 5 8 9
? 7 5 10
? 8 3 10
? 9 4 10
? 6 1 10
? 10 2 1
? 3 5 10
? 8 9 10
? 8 7...

result:

points 1.0 points  1.0 correct 3339 queries

Test #13:

score: 100
Accepted
time: 7ms
memory: 3800kb

input:

0
1
1
0
1
2
1
3
1
2
2
2
1
1
2
0
2
3
2
2
1
1
1
2
1
1
3
2
2
2
1
0
1
3
0
2
3
1
3
3
1
3
1
1
2
1
0
2
2
3
0
1
1
1
0
2
2
1
2
0
1
3
1
1
1
3
1
1
1
1
2
1
1
0
2
1
2
2
2
0
3
3
0
2
2
0
2
2
1
1
1
2
0
2
2
2
3
1
2
2
2
2
0
1
1
2
1
1
3
1
2
1
2
1
3
2
0
1
2
3
1
1
0
2
1
2
0
1
3
1
1
1
1
0
2
0
1
2
1
0
1
1
0
1
1
1
1
3
2
1
...

output:

? 1 2 3
? 1 2 4
? 1 3 4
? 2 3 4
? 1 2 5
? 1 3 5
? 2 3 5
? 1 4 5
? 2 4 5
? 3 4 5
? 1 4 6
? 2 3 6
? 6 5 1
? 2 4 7
? 6 5 7
? 3 1 7
? 4 6 7
? 5 4 8
? 2 6 8
? 3 1 8
? 8 7 1
? 6 7 8
? 7 4 9
? 3 2 9
? 6 1 9
? 5 8 9
? 1 4 9
? 7 5 10
? 8 3 10
? 9 4 10
? 6 1 10
? 10 2 1
? 3 4 10
? 3 5 10
? 8 7 11
? 2 6 11
? 1...

result:

points 1.0 points  1.0 correct 3330 queries

Test #14:

score: 100
Accepted
time: 7ms
memory: 4016kb

input:

2
2
1
1
3
3
2
1
2
1
1
2
3
2
3
3
1
2
1
3
2
0
1
2
1
1
3
2
2
2
2
3
1
3
1
3
1
1
1
1
2
1
1
2
2
2
1
2
1
1
1
0
3
0
2
3
2
2
2
3
0
2
2
2
2
3
1
1
2
2
2
2
3
1
2
2
3
3
3
2
2
2
2
1
2
0
1
0
2
1
3
2
1
2
0
2
3
0
1
1
2
3
1
0
1
2
2
2
1
2
2
1
2
2
1
1
3
2
1
1
1
2
1
1
1
2
2
2
2
1
2
3
2
2
1
3
2
1
2
2
1
2
1
1
1
2
1
0
0
1
...

output:

? 1 2 3
? 1 2 4
? 1 3 4
? 2 3 4
? 1 2 5
? 1 3 5
? 2 3 5
? 1 4 5
? 2 4 5
? 3 4 5
? 1 4 6
? 2 3 6
? 6 5 1
? 2 4 7
? 6 5 7
? 3 1 7
? 4 6 7
? 5 4 8
? 2 6 8
? 3 1 8
? 8 7 1
? 7 4 9
? 3 2 9
? 6 1 9
? 5 8 9
? 1 2 9
? 7 5 10
? 8 3 10
? 9 4 10
? 6 1 10
? 10 2 1
? 1 3 10
? 8 7 11
? 2 6 11
? 10 3 11
? 1 5 11
?...

result:

points 1.0 points  1.0 correct 3325 queries

Test #15:

score: 100
Accepted
time: 8ms
memory: 4088kb

input:

3
2
3
2
2
3
2
2
0
2
3
2
2
2
0
2
1
0
1
2
0
2
1
1
2
1
1
2
1
2
2
1
1
3
1
0
0
1
2
2
1
1
2
2
2
1
1
1
2
2
1
2
1
0
2
2
2
3
1
2
1
1
0
2
1
1
1
1
2
1
2
3
1
0
1
1
1
0
1
1
0
1
1
1
1
1
2
0
2
1
0
3
1
2
1
1
0
2
3
0
0
1
3
1
2
2
1
1
1
2
2
1
0
2
1
1
2
2
1
2
2
2
1
3
1
1
1
2
2
2
2
2
2
2
2
1
1
0
0
1
2
3
1
2
2
3
3
3
2
1
...

output:

? 1 2 3
? 1 2 4
? 1 3 4
? 2 3 4
? 1 2 5
? 1 3 5
? 2 3 5
? 1 4 5
? 2 4 5
? 3 4 5
? 1 4 6
? 2 3 6
? 6 5 1
? 3 5 6
? 2 4 7
? 6 5 7
? 3 1 7
? 5 4 8
? 2 6 8
? 3 1 8
? 8 7 1
? 6 7 8
? 7 4 9
? 3 2 9
? 6 1 9
? 5 8 9
? 1 4 9
? 8 7 9
? 7 5 10
? 8 3 10
? 9 4 10
? 6 1 10
? 10 2 1
? 8 9 10
? 8 7 11
? 2 6 11
? 10...

result:

points 1.0 points  1.0 correct 3323 queries

Test #16:

score: 100
Accepted
time: 6ms
memory: 3748kb

input:

2
2
2
2
2
2
0
1
1
1
1
1
1
1
2
2
1
3
0
1
2
0
2
1
2
2
1
1
2
2
1
1
2
2
1
2
1
2
1
3
2
2
2
3
2
2
1
0
2
2
1
2
2
3
0
3
2
1
0
1
1
2
2
2
1
0
1
3
3
1
2
2
2
1
2
2
2
1
1
1
3
0
2
1
1
1
2
2
2
0
0
0
2
2
2
1
2
1
0
2
0
2
3
2
3
1
3
0
1
2
1
2
1
3
1
2
2
2
2
3
1
0
1
3
0
2
3
3
2
2
1
0
1
2
1
2
1
2
1
1
3
2
1
3
2
2
2
2
1
3
...

output:

? 1 2 3
? 1 2 4
? 1 3 4
? 2 3 4
? 1 2 5
? 1 3 5
? 2 3 5
? 1 4 5
? 2 4 5
? 3 4 5
? 1 4 6
? 2 3 6
? 6 5 1
? 3 5 6
? 2 4 7
? 6 5 7
? 3 1 7
? 4 6 7
? 5 4 8
? 2 6 8
? 3 1 8
? 8 7 1
? 6 7 8
? 7 4 9
? 3 2 9
? 6 1 9
? 5 8 9
? 8 7 9
? 7 5 10
? 8 3 10
? 9 4 10
? 6 1 10
? 10 2 1
? 1 3 10
? 1 4 10
? 1 5 10
? 9 ...

result:

points 1.0 points  1.0 correct 3329 queries

Test #17:

score: 100
Accepted
time: 23ms
memory: 3816kb

input:

0
1
2
1
1
1
2
2
2
3
3
0
1
0
2
0
2
2
1
0
2
1
2
1
2
2
1
2
3
0
1
0
1
0
2
2
1
2
2
2
0
1
3
1
1
1
1
2
1
2
1
0
2
0
1
1
1
2
1
2
1
2
1
0
1
2
0
2
2
3
3
2
1
2
0
2
1
2
2
0
0
3
2
1
2
1
3
2
1
1
2
1
2
1
0
3
3
2
2
2
2
3
0
2
3
2
0
2
2
2
3
2
1
3
2
2
2
2
2
1
2
1
2
3
2
1
2
3
2
2
1
1
2
2
2
3
3
2
1
2
2
2
2
3
1
1
1
3
1
3
...

output:

? 1 2 3
? 1 2 4
? 1 3 4
? 2 3 4
? 1 2 5
? 1 3 5
? 2 3 5
? 1 4 5
? 2 4 5
? 3 4 5
? 1 4 6
? 2 3 6
? 6 5 1
? 2 4 7
? 6 5 7
? 3 1 7
? 5 4 8
? 2 6 8
? 3 1 8
? 8 7 1
? 5 7 8
? 7 4 9
? 3 2 9
? 6 1 9
? 5 8 9
? 4 5 9
? 8 6 9
? 7 5 10
? 8 3 10
? 9 4 10
? 6 1 10
? 10 2 1
? 7 9 10
? 8 7 11
? 2 6 11
? 10 3 11
? ...

result:

points 1.0 points  1.0 correct 3338 queries

Test #18:

score: 100
Accepted
time: 11ms
memory: 3700kb

input:

1
2
1
2
1
2
2
3
2
2
2
1
2
3
2
2
2
2
3
0
0
2
2
1
1
3
1
2
1
2
1
1
1
3
1
2
1
1
1
2
3
0
1
2
2
2
0
1
2
2
3
0
0
1
0
0
2
1
1
0
1
3
1
1
1
2
2
1
0
3
3
0
2
1
1
1
3
3
1
2
1
3
1
3
2
2
1
2
1
1
3
1
1
1
1
2
3
2
3
1
2
3
1
2
1
2
1
0
0
3
3
0
1
1
2
2
0
1
1
3
2
2
2
1
2
1
1
2
2
2
2
0
1
1
3
1
0
2
1
2
0
3
2
3
1
0
2
3
2
2
...

output:

? 1 2 3
? 1 2 4
? 1 3 4
? 2 3 4
? 1 2 5
? 1 3 5
? 2 3 5
? 1 4 5
? 2 4 5
? 3 4 5
? 1 4 6
? 2 3 6
? 6 5 1
? 5 4 6
? 2 4 7
? 6 5 7
? 3 1 7
? 2 5 7
? 5 4 8
? 2 6 8
? 3 1 8
? 8 7 1
? 7 4 9
? 3 2 9
? 6 1 9
? 5 8 9
? 6 8 9
? 7 5 10
? 8 3 10
? 9 4 10
? 6 1 10
? 10 2 1
? 1 3 10
? 1 4 10
? 7 9 10
? 8 7 11
? 2...

result:

points 1.0 points  1.0 correct 3356 queries

Test #19:

score: 100
Accepted
time: 4ms
memory: 3752kb

input:

1
2
2
1
1
0
0
1
0
1
3
2
1
0
0
1
2
1
1
1
1
2
1
1
1
2
2
2
2
3
0
2
0
3
3
1
1
2
2
1
2
1
2
2
1
2
1
1
1
3
2
2
1
2
0
3
1
0
1
1
1
0
1
2
2
2
3
2
2
1
1
3
2
2
1
1
3
1
1
2
0
3
1
0
2
2
1
1
2
0
1
1
0
3
1
2
3
2
1
1
1
2
1
2
1
3
1
1
2
3
0
2
2
2
2
2
2
2
1
3
2
2
2
1
2
2
0
1
1
1
2
0
1
2
0
2
1
1
0
1
2
2
0
2
1
1
0
1
2
2
...

output:

? 1 2 3
? 1 2 4
? 1 3 4
? 2 3 4
? 1 2 5
? 1 3 5
? 2 3 5
? 1 4 5
? 2 4 5
? 3 4 5
? 1 4 6
? 2 3 6
? 6 5 1
? 2 4 7
? 6 5 7
? 3 1 7
? 3 6 7
? 5 4 8
? 2 6 8
? 3 1 8
? 8 7 1
? 1 4 8
? 7 6 8
? 7 4 9
? 3 2 9
? 6 1 9
? 5 8 9
? 1 2 9
? 1 4 9
? 7 8 9
? 7 5 10
? 8 3 10
? 9 4 10
? 6 1 10
? 10 2 1
? 8 9 10
? 8 7 ...

result:

points 1.0 points  1.0 correct 3328 queries

Test #20:

score: 100
Accepted
time: 0ms
memory: 4016kb

input:

0
1
2
1
0
0
0
2
1
2
1
1
0
0
1
1
2
0
2
2
1
1
2
3
2
0
0
1
1
1
1
1
1
1
0
3
0
1
3
1
2
1
3
1
2
1
2
0
2
2
3
1
1
1
2
2
1
0
2
2
0
1
2
1
2
2
2
1
0
2
0
1
2
0
3
1
2
2
0
2
3
3
2
2
1
1
2
1
1
1
1
2
1
1
3
2
1
0
1
1
2
2
3
3
2
2
2
2
2
2
1
1
2
2
1
1
2
2
0
0
1
2
1
2
2
0
2
0
3
0
2
2
2
0
2
1
2
0
1
1
1
2
1
3
2
2
1
1
1
1
...

output:

? 1 2 3
? 1 2 4
? 1 3 4
? 2 3 4
? 1 2 5
? 1 3 5
? 2 3 5
? 1 4 5
? 2 4 5
? 3 4 5
? 1 4 6
? 2 3 6
? 6 5 1
? 3 5 6
? 2 4 7
? 6 5 7
? 3 1 7
? 2 5 7
? 5 4 8
? 2 6 8
? 3 1 8
? 8 7 1
? 2 4 8
? 7 4 9
? 3 2 9
? 6 1 9
? 5 8 9
? 7 5 10
? 8 3 10
? 9 4 10
? 6 1 10
? 10 2 1
? 1 5 10
? 7 9 10
? 8 7 11
? 2 6 11
? 1...

result:

points 1.0 points  1.0 correct 3325 queries