QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#667017#9518. 观虫我 (旧版数据)DaiRuiChen0070 0ms0kbC++171.4kb2024-10-22 20:45:402024-10-22 21:45:18

Judging History

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

  • [2024-10-22 21:45:18]
  • 管理员手动重测本题所有提交记录
  • 测评结果:0
  • 用时:0ms
  • 内存:0kb
  • [2024-10-22 20:45:58]
  • 评测
  • 测评结果:0
  • 用时:0ms
  • 内存:0kb
  • [2024-10-22 20:45:40]
  • 提交

answer

#include<bits/stdc++.h>
#define ui unsigned int
#define ull unsigned long long
using namespace std;
namespace IO {
int ow,olim=(1<<23)-100;
char buf[1<<21],*p1=buf,*p2=buf,obuf[1<<23];
#define gc() (p1==p2&&(p2=(p1=buf)+fread(buf,1,1<<21,stdin),p1==p2)?EOF:*p1++)
ui read() {
	ui x=0; char c=gc();
	while(!isdigit(c)) c=gc();
	while(isdigit(c)) x=x*10+(c^48),c=gc();
	return x;
}
char getc() {
	char c=gc();
	while(c!='!'&&c!='?') c=gc();
	return c;
}
void flush() {
	fwrite(obuf,ow,1,stdout),ow=0;
}
void putc(char c) {
	obuf[ow++]=c;
	if(ow>=olim) flush();
}
#undef gc
}
ull f0[15628][1<<8],f1[15628][1<<8],f2[15628][1<<8],f3[15628][1<<8];
signed main() {
	int N=IO::read(),q=IO::read(),n=0;
	while(q--) {
		char op=IO::getc();
		ui x=IO::read();
		ui a=x&255,b=x>>8&255,c=x>>16&255,d=x>>24&255;
		if(op=='!') {
			ull z=1ull<<(n&63);
			for(ui t=a;;t=(t+1)|a) {
				f0[n>>6][t]^=z;
				if(t==255) break;
			}
			for(ui t=b;;t=(t+1)|b) {
				f1[n>>6][t]^=z;
				if(t==255) break;
			}
			for(ui t=c;;t=(t+1)|c) {
				f2[n>>6][t]^=z;
				if(t==255) break;
			}
			for(ui t=d;;t=(t+1)|d) {
				f3[n>>6][t]^=z;
				if(t==255) break;
			}
			++n;
		} else {
			ull s=0;
			for(int i=0;i<=(n>>6);++i) s^=f0[i][a]&f1[i][b]&f2[i][c]&f3[i][d];
			IO::putc('0'+__builtin_parityll(s)),IO::putc('\n');
		}
	}
	IO::flush();
	return 0;
}

Details

Tip: Click on the bar to expand more detailed information

Subtask #1:

score: 0
Time Limit Exceeded

Test #1:

score: 0
Time Limit Exceeded

input:

24 1000000
! 9475137
! 4501536
? 14277831
? 16695039
? 5723102
? 6093887
? 3014539
! 475969
? 12500973
! 8750136
? 15617895
! 4589313
! 152300
? 3612579
? 15248179
! 764162
! 4461105
? 7274495
? 13299697
! 8388872
? 13490383
! 3875594
! 9439685
? 16776189
! 6443172
? 13864879
! 395691
? 7142271
? 16...

output:


result:


Subtask #2:

score: 0
Time Limit Exceeded

Test #11:

score: 0
Time Limit Exceeded

input:

26 1000000
! 18006034
? 66957270
! 2133064
! 147618
! 34621442
? 49715575
? 62879287
! 18620682
? 67073751
! 62941186
! 7634532
? 67100031
? 12517237
! 4804997
? 65991126
! 138275
? 65722687
? 66043391
! 19147234
? 45743743
! 2242648
! 44378336
? 48226020
! 34341926
! 665045
? 55433083
! 5554254
? 4...

output:


result:


Subtask #3:

score: 0
Time Limit Exceeded

Test #21:

score: 0
Time Limit Exceeded

input:

28 1000000
! 1081468
! 128476263
! 67930241
? 94304031
! 103698752
! 19982
! 198050624
? 249519591
? 71286719
? 255700799
! 103309888
! 819340
! 12852092
? 124739445
? 192734967
! 101320328
! 117594711
? 252032927
! 134267948
? 262940285
! 3155972
? 267876218
! 41984160
? 246413294
? 246824252
? 163...

output:


result:


Subtask #4:

score: 0
Time Limit Exceeded

Test #31:

score: 0
Time Limit Exceeded

input:

30 1000000
! 33852274
? 1017904007
? 1046413001
! 151029382
? 466826079
? 250568375
! 6769874
! 2106474
? 536832803
? 209627867
! 167104971
? 1048372157
! 245380745
! 25174496
? 819646460
! 539548800
! 671358165
? 402955591
? 527753201
! 582494209
? 862862931
? 938974695
? 263672827
? 366968669
? 87...

output:


result:


Subtask #5:

score: 0
Time Limit Exceeded

Test #41:

score: 0
Time Limit Exceeded

input:

32 1000000
! 2474971548
! 348268033
? 1055293046
? 3382525679
? 1805515707
? 3210332902
? 2805668987
? 4025974780
! 2217771280
! 176949664
! 4213841344
! 1477473321
? 3150869759
? 2127418041
! 1610631720
! 3624477314
! 2288149532
! 70909964
! 40117153
! 1343751456
? 3758095615
! 513059275
! 31956816...

output:


result: