某网络赛某题2
Posted maoruimas
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了某网络赛某题2相关的知识,希望对你有一定的参考价值。
#include<bits/stdc++.h>
using namespace std;
#define rep(i,a,b) for(int i=a;i<=b;++i)
/*
1 add
2 beq
3 bne
4 blt
5 bgt
*/
const int maxn=1e4+5;
int n,r;
int con[maxn][5];
int cnt[maxn];
inline int query(char a[])
{
switch(a[1])
{
case ‘d‘:
return 1;
case ‘e‘:
return 2;
case ‘n‘:
return 3;
case ‘l‘:
return 4;
case ‘g‘:
return 5;
}
}
int main()
{
int T;scanf("%d",&T);
while(T--)
{
memset(cnt,0,sizeof cnt);
int r=0;
scanf("%d",&n);
for(int i=1;i<=n;++i)
{
char tmp[10];
scanf("%s",tmp);
con[i][0]=query(tmp);
if(con[i][0]==1)scanf("%d",&con[i][1]);
else scanf("%d%d",&con[i][1],&con[i][2]);
}
bool flag=true;
for(int i=1;i<=n;++i)
{
//printf("%d: r=%d
",i,r);
if(con[i][0]==1)r=(r+con[i][1])%256;
else{
if(++cnt[i]>256){flag=false;break;}
bool what=false;
switch(con[i][0])
{
case 2:
if(r==con[i][1])what=true;
break;
case 3:
if(r!=con[i][1])what=true;
break;
case 4:
if(r<con[i][1])what=true;
break;
case 5:
if(r>con[i][1])what=true;
break;
}
if(what)i=con[i][2]-1;
}
}
if(flag)printf("Yes
");
else printf("No
");
}
}
以上是关于某网络赛某题2的主要内容,如果未能解决你的问题,请参考以下文章