QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#156599#7104. Halting Problemucup-team1004#AC ✓2ms3680kbC++141.5kb2023-09-02 13:49:562023-09-02 14:34:25

Judging History

This is the latest submission verdict.

  • [2023-09-02 14:34:25]
  • Judged
  • Verdict: AC
  • Time: 2ms
  • Memory: 3680kb
  • [2023-09-02 13:49:56]
  • Submitted

answer

#include<bits/stdc++.h>
#define Gc() getchar() 
#define Me(x,y) memset(x,y,sizeof(x))
#define Mc(x,y) memcpy(x,y,sizeof(x))
#define d(x,y) ((m)*(x-1)+(y))
#define R(n) (rnd()%(n)+1)
#define Pc(x) putchar(x)
#define LB lower_bound
#define UB upper_bound
#define fi first
#define se second
using namespace std;using ll=long long;using db=double;using lb=long db;using ui=unsigned;using ull=unsigned long long;using pii=pair<int,int>;using LL=__int128;
const int N=1e4+5,M=N*20+5,K=600+5,mod=998244353,Mod=mod-1;const db eps=1e-9;const ll INF=1e18+7;mt19937 rnd(time(0));
int n,op[N],v[N],k[N],f[N][256];string s;
void init(){
	int i,j;
}
int dfs(int x,int w){
	// cerr<<x<<' '<<v[x]<<' '<<w<<'\n';
	if(x==n+1) return 1;if(f[x][w]) return 0;
	f[x][w]=1;
	if(op[x]==1) return dfs(x+1,(w+v[x])%256);
	else if(op[x]==2) return w==v[x]?dfs(k[x],w):dfs(x+1,w);
	else if(op[x]==3) return w^v[x]?dfs(k[x],w):dfs(x+1,w);
	else if(op[x]==4) return w<v[x]?dfs(k[x],w):dfs(x+1,w);
	else return w>v[x]?dfs(k[x],w):dfs(x+1,w);
}
void Solve(){
	int i,j;scanf("%d",&n);
	for(i=1;i<=n;i++){
		cin>>s;
		if(s=="add") op[i]=1,scanf("%d",&v[i]);
		else if(s=="beq") op[i]=2,scanf("%d%d",&v[i],&k[i]);
		else if(s=="bne") op[i]=3,scanf("%d%d",&v[i],&k[i]);
		else if(s=="blt") op[i]=4,scanf("%d%d",&v[i],&k[i]);
		else op[i]=5,scanf("%d%d",&v[i],&k[i]);
	}
	for(i=1;i<=n;i++) Me(f,0);
	puts(dfs(1,0)?"Yes":"No");
}
int main(){
	int t;init();
	scanf("%d",&t);
	// t=1;
	while(t--) Solve();
	cerr<<clock()*1.0/CLOCKS_PER_SEC<<'\n';
}

这程序好像有点Bug,我给组数据试试?

Details

Tip: Click on the bar to expand more detailed information

Test #1:

score: 100
Accepted
time: 1ms
memory: 3680kb

input:

5
5 4
100 50
252 52
3 0
10 10

output:

4 2
50 1
52 1
0 0
10 10

result:

ok 5 lines

Test #2:

score: 0
Accepted
time: 2ms
memory: 3616kb

input:

100
13 3
384 171
94 36
581 70
782 715
651 287
810 789
353 314
2 2
65 47
684 194
242 213
135 42
695 484
512 195
14 0
721 253
665 257
381 78
456 220
1000 500
1000 501
31 31
703 484
137 1
271 55
666 366
966 316
457 248
166 38
716 679
972 258
627 91
380 1
451 436
605 173
987 780
457 180
2 0
718 574
119 ...

output:

3 1
171 1
36 1
70 1
715 11
287 1
789 36
314 8
2 2
47 3
194 1
213 8
42 1
484 3
195 1
0 0
253 1
257 1
78 1
220 1
500 1
501 2
31 31
484 3
1 1
55 1
366 2
316 1
248 2
38 1
679 18
258 1
91 1
1 1
436 28
173 1
780 4
180 1
0 0
574 4
8 1
118 1
126 1
12 2
34 1
381 21
658 4
288 4
161 1
76 1
195 1
646 6
27 1
9 2...

result:

ok 100 lines

Extra Test:

score: 0
Extra Test Passed