Submission #26822079
Source Code Expand
//是啊……你就是那只鬼了……所以被你碰到以后,就轮到我变成鬼了{{{
#include<bits/stdc++.h>
using namespace std;typedef long long ll;
template<typename T>inline void read(T &x)
{
	x=0;char c=getchar(),f=0;
	for(;c<'0'||c>'9';c=getchar()) if(c=='-') f=1;
	for(;c>='0'&&c<='9';c=getchar()) x=(x<<1)+(x<<3)+(c^48);
	if(f) x=-x;
}
template<typename T,typename...L>inline void read(T &x,L&...l) {read(x),read(l...);}//}}}
int n,a,b,fa[100005],sz[100005],rs[100005];queue<int>q;
#ifndef ONLINE_JUDGE
int limit=0;char debug[100005];mt19937 rnd(time(0));
#endif
inline char qry(int x,int y)
{
#ifdef ONLINE_JUDGE
	printf("? %d %d\n",x-1,y-1),fflush(stdout);
	char ch[4];scanf("%s",ch);return *ch=='Y';
#else
	limit++;if(debug[x]) return debug[y];
	else return 0;
#endif
}
inline int getf(int x) {return fa[x]==x?x:fa[x]=getf(fa[x]);}
int main()
{
#ifdef ONLINE_JUDGE
	read(a,b),n=a+b;
#else
	scanf("%s",debug+1),n=strlen(debug+1);
	for(int i=1;i<=n;i++) debug[i]^=48;
	for(int i=1;i<=n;i++) a+=debug[i],b+=!debug[i];
#endif
	if(a<=b) return puts("Impossible"),0;
	for(int i=1;i<=n;i++) fa[i]=i,q.push(i);
	memset(rs,-1,sizeof(rs));int la;
	while((int)q.size()>1)
	{
		int x=q.front(),y;q.pop(),y=q.front();q.pop();
		if(q.empty()) {la=(sz[x]>sz[y]?x:y);break;}
		char a=qry(x,y),b=qry(y,x);
		if(a&&b) fa[x]=y,q.push(y),sz[y]+=sz[x];
		else if(a||b) rs[a?x:y]=0,q.push(a?y:x);
	}
	int hn;rs[hn=q.empty()?la:q.front()]=1;
	for(int i=1;i<=n;i++) if(!~rs[i]&&getf(i)==i) rs[i]=qry(hn,i);
	for(int i=1;i<=n;i++) if(!~rs[i]) rs[i]=rs[getf(i)];
#ifndef ONLINE_JUDGE
	printf("cnt = %d\nlimit = %d\n",limit,n*2);
	for(int i=1;i<=n;i++) if(rs[i]^debug[i]) return puts("Fail"),0;
	return puts("Succeed"),0;
#else
	printf("! ");for(int i=1;i<=n;i++) putchar(rs[i]^48);
	return putchar('\n'),fflush(stdout),0;
#endif
}
			Submission Info
| Submission Time | |
|---|---|
| Task | F - HonestOrUnkind | 
| User | leapfrog | 
| Language | C++ (GCC 9.2.1) | 
| Score | 0 | 
| Code Size | 1883 Byte | 
| Status | WA | 
| Exec Time | 75 ms | 
| Memory | 4216 KiB | 
Compile Error
./Main.cpp: In function ‘char qry(int, int)’:
./Main.cpp:20:18: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
   20 |  char ch[4];scanf("%s",ch);return *ch=='Y';
      |             ~~~~~^~~~~~~~~
./Main.cpp: In function ‘int main()’:
./Main.cpp:19:8: warning: ‘la’ may be used uninitialized in this function [-Wmaybe-uninitialized]
   19 |  printf("? %d %d\n",x-1,y-1),fflush(stdout);
      |  ~~~~~~^~~~~~~~~~~~~~~~~~~~~
./Main.cpp:38:31: note: ‘la’ was declared here
   38 |  memset(rs,-1,sizeof(rs));int la;
      |                               ^~
			
			
				Judge Result
| Set Name | All | ||||
|---|---|---|---|---|---|
| Score / Max Score | 0 / 1300 | ||||
| Status | 
 | 
| Set Name | Test Cases | 
|---|---|
| All | 000.txt, 001.txt, 002.txt, 003.txt, 004.txt, 005.txt, 006.txt, 007.txt, 008.txt, 009.txt, 010.txt, 011.txt, 012.txt, 013.txt, 014.txt, 015.txt, 016.txt, 017.txt, 018.txt, 019.txt, 020.txt, 021.txt, 022.txt, 023.txt, 024.txt, 025.txt, 026.txt, 027.txt, 028.txt, 029.txt, 030.txt, 031.txt, 032.txt, 033.txt, 034.txt, 035.txt, 036.txt, 037.txt, 038.txt, 039.txt, 040.txt, 041.txt, 042.txt, 043.txt, 044.txt, 045.txt, 046.txt, 047.txt, 048.txt, 049.txt, 050.txt, 051.txt, 052.txt, 053.txt, 054.txt, 055.txt, 056.txt, 057.txt, 058.txt, 059.txt, 060.txt, 061.txt, 062.txt, 063.txt, 064.txt, 065.txt, 066.txt, 067.txt, 068.txt, 069.txt, 070.txt, 071.txt, 072.txt, 073.txt, 074.txt, 075.txt, 076.txt, 077.txt, 078.txt, 079.txt, 080.txt, 081.txt, 082.txt, 083.txt, 084.txt, 085.txt, 086.txt, 087.txt, 088.txt, 089.txt, 090.txt, 091.txt, 092.txt, 093.txt, 094.txt, 095.txt, 096.txt, 097.txt, 098.txt, 099.txt, 100.txt, 101.txt, 102.txt, 103.txt, 104.txt, 105.txt, 106.txt, 107.txt, 108.txt, 109.txt, 110.txt, 111.txt, 112.txt, 113.txt, 114.txt, 115.txt, 116.txt, 117.txt, 118.txt, 119.txt, 120.txt, 121.txt, 122.txt, 123.txt, 124.txt, 125.txt | 
| Case Name | Status | Exec Time | Memory | 
|---|---|---|---|
| 000.txt | AC | 13 ms | 4184 KiB | 
| 001.txt | AC | 6 ms | 4188 KiB | 
| 002.txt | AC | 7 ms | 4188 KiB | 
| 003.txt | AC | 6 ms | 4028 KiB | 
| 004.txt | AC | 10 ms | 4084 KiB | 
| 005.txt | AC | 4 ms | 4012 KiB | 
| 006.txt | AC | 6 ms | 4128 KiB | 
| 007.txt | AC | 7 ms | 4032 KiB | 
| 008.txt | AC | 4 ms | 4184 KiB | 
| 009.txt | AC | 6 ms | 4160 KiB | 
| 010.txt | AC | 12 ms | 4124 KiB | 
| 011.txt | AC | 67 ms | 4192 KiB | 
| 012.txt | AC | 43 ms | 4092 KiB | 
| 013.txt | AC | 11 ms | 4088 KiB | 
| 014.txt | AC | 7 ms | 4012 KiB | 
| 015.txt | AC | 9 ms | 4184 KiB | 
| 016.txt | AC | 6 ms | 4028 KiB | 
| 017.txt | AC | 7 ms | 4084 KiB | 
| 018.txt | AC | 7 ms | 4084 KiB | 
| 019.txt | AC | 8 ms | 4124 KiB | 
| 020.txt | AC | 7 ms | 4084 KiB | 
| 021.txt | AC | 12 ms | 4080 KiB | 
| 022.txt | AC | 7 ms | 4084 KiB | 
| 023.txt | AC | 14 ms | 4072 KiB | 
| 024.txt | AC | 66 ms | 4056 KiB | 
| 025.txt | AC | 44 ms | 4184 KiB | 
| 026.txt | AC | 14 ms | 4084 KiB | 
| 027.txt | AC | 6 ms | 4012 KiB | 
| 028.txt | AC | 14 ms | 4012 KiB | 
| 029.txt | AC | 7 ms | 4076 KiB | 
| 030.txt | AC | 6 ms | 4188 KiB | 
| 031.txt | AC | 7 ms | 4088 KiB | 
| 032.txt | AC | 8 ms | 4072 KiB | 
| 033.txt | AC | 7 ms | 4084 KiB | 
| 034.txt | AC | 6 ms | 4184 KiB | 
| 035.txt | AC | 10 ms | 4088 KiB | 
| 036.txt | AC | 13 ms | 4188 KiB | 
| 037.txt | WA | 67 ms | 4120 KiB | 
| 038.txt | AC | 43 ms | 4032 KiB | 
| 039.txt | AC | 13 ms | 4016 KiB | 
| 040.txt | AC | 8 ms | 4084 KiB | 
| 041.txt | AC | 6 ms | 4072 KiB | 
| 042.txt | AC | 6 ms | 4084 KiB | 
| 043.txt | AC | 9 ms | 4088 KiB | 
| 044.txt | AC | 6 ms | 4084 KiB | 
| 045.txt | AC | 6 ms | 4064 KiB | 
| 046.txt | AC | 8 ms | 4144 KiB | 
| 047.txt | AC | 5 ms | 4076 KiB | 
| 048.txt | AC | 7 ms | 4088 KiB | 
| 049.txt | AC | 9 ms | 4084 KiB | 
| 050.txt | AC | 68 ms | 4076 KiB | 
| 051.txt | AC | 46 ms | 4108 KiB | 
| 052.txt | AC | 15 ms | 4012 KiB | 
| 053.txt | AC | 6 ms | 4012 KiB | 
| 054.txt | AC | 8 ms | 4072 KiB | 
| 055.txt | AC | 9 ms | 4080 KiB | 
| 056.txt | AC | 7 ms | 4088 KiB | 
| 057.txt | AC | 6 ms | 4032 KiB | 
| 058.txt | AC | 8 ms | 4080 KiB | 
| 059.txt | AC | 8 ms | 4028 KiB | 
| 060.txt | AC | 6 ms | 4140 KiB | 
| 061.txt | AC | 10 ms | 4088 KiB | 
| 062.txt | AC | 13 ms | 4008 KiB | 
| 063.txt | AC | 75 ms | 4132 KiB | 
| 064.txt | AC | 49 ms | 4096 KiB | 
| 065.txt | AC | 13 ms | 4080 KiB | 
| 066.txt | AC | 5 ms | 4160 KiB | 
| 067.txt | AC | 7 ms | 4028 KiB | 
| 068.txt | AC | 11 ms | 4016 KiB | 
| 069.txt | AC | 8 ms | 4188 KiB | 
| 070.txt | AC | 12 ms | 4072 KiB | 
| 071.txt | AC | 8 ms | 4188 KiB | 
| 072.txt | AC | 10 ms | 4144 KiB | 
| 073.txt | AC | 7 ms | 4016 KiB | 
| 074.txt | AC | 11 ms | 4016 KiB | 
| 075.txt | AC | 13 ms | 4080 KiB | 
| 076.txt | AC | 69 ms | 4128 KiB | 
| 077.txt | AC | 44 ms | 4052 KiB | 
| 078.txt | AC | 12 ms | 4088 KiB | 
| 079.txt | AC | 6 ms | 4084 KiB | 
| 080.txt | AC | 8 ms | 4072 KiB | 
| 081.txt | AC | 8 ms | 4064 KiB | 
| 082.txt | AC | 6 ms | 4192 KiB | 
| 083.txt | AC | 8 ms | 4160 KiB | 
| 084.txt | AC | 7 ms | 4016 KiB | 
| 085.txt | AC | 6 ms | 4188 KiB | 
| 086.txt | AC | 8 ms | 4088 KiB | 
| 087.txt | AC | 7 ms | 4124 KiB | 
| 088.txt | AC | 12 ms | 4024 KiB | 
| 089.txt | AC | 64 ms | 4208 KiB | 
| 090.txt | AC | 44 ms | 4104 KiB | 
| 091.txt | AC | 12 ms | 4084 KiB | 
| 092.txt | AC | 8 ms | 4028 KiB | 
| 093.txt | AC | 6 ms | 4080 KiB | 
| 094.txt | AC | 6 ms | 4188 KiB | 
| 095.txt | AC | 6 ms | 4068 KiB | 
| 096.txt | AC | 7 ms | 4016 KiB | 
| 097.txt | AC | 6 ms | 4088 KiB | 
| 098.txt | AC | 8 ms | 4084 KiB | 
| 099.txt | AC | 8 ms | 4068 KiB | 
| 100.txt | AC | 7 ms | 4012 KiB | 
| 101.txt | AC | 15 ms | 4080 KiB | 
| 102.txt | AC | 63 ms | 4208 KiB | 
| 103.txt | AC | 45 ms | 4092 KiB | 
| 104.txt | AC | 10 ms | 4028 KiB | 
| 105.txt | AC | 8 ms | 4080 KiB | 
| 106.txt | AC | 8 ms | 4192 KiB | 
| 107.txt | AC | 7 ms | 4132 KiB | 
| 108.txt | AC | 9 ms | 4188 KiB | 
| 109.txt | AC | 8 ms | 4024 KiB | 
| 110.txt | AC | 6 ms | 4028 KiB | 
| 111.txt | AC | 8 ms | 4088 KiB | 
| 112.txt | AC | 10 ms | 4072 KiB | 
| 113.txt | AC | 8 ms | 4104 KiB | 
| 114.txt | AC | 14 ms | 4192 KiB | 
| 115.txt | AC | 65 ms | 4116 KiB | 
| 116.txt | AC | 43 ms | 4216 KiB | 
| 117.txt | AC | 12 ms | 3652 KiB | 
| 118.txt | AC | 8 ms | 3588 KiB | 
| 119.txt | AC | 6 ms | 3644 KiB | 
| 120.txt | AC | 7 ms | 3636 KiB | 
| 121.txt | AC | 7 ms | 3600 KiB | 
| 122.txt | AC | 8 ms | 3692 KiB | 
| 123.txt | AC | 5 ms | 3604 KiB | 
| 124.txt | AC | 6 ms | 3684 KiB | 
| 125.txt | AC | 6 ms | 3656 KiB |