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
AC × 125
WA × 1
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