PersonalCorpus 版 (精华区)
1127620 Big Guava ... 10033 Accepted
0:00.010 64 2002/09/28 23:16:03.512
void main()
{
#ifndef ONLINE_JUDGE
freopen("c:\\0acm\\uva\\i10033","r",stdin);
freopen("c:\\0acm\\uva\\o10033","w",stdout);
#endif
int i,j,k,n,ip,sum,a,b,c;
char s[10];
int reg[10],ram[1000];
scanf("%d\n",&n);
while (n--) {
memset(ram,0,sizeof(ram));
k=0;
while (1) {
gets(s);
if (s[0]==0) break;
sscanf(s,"%d",&ram[k]);
k++;
}
memset(reg,0,sizeof(reg));
ip=0; sum=0;
while (1) {
sum++;
if (ram[ip]==100) break;
a=ram[ip]/100;
b=(ram[ip]-a*100)/10;
c=ram[ip]-a*100-b*10;
ip++;
if (a==2) {
reg[b]=c;
continue;
}
if (a==3) {
reg[b]+=c;
reg[b]%=1000;
continue;
}
if (a==4) {
reg[b]*=c;
reg[b]%=1000;
continue;
}
if (a==5) {
reg[b]=reg[c];
continue;
}
if (a==6) {
reg[b]+=reg[c];
reg[b]%=1000;
continue;
}
if (a==7) {
reg[b]*=reg[c];
reg[b]%=1000;
continue;
}
if (a==8) {
reg[b]=ram[reg[c]];
continue;
}
if (a==9) {
ram[reg[c]]=reg[b];
}
if (a==0) {
if (reg[c]!=0) ip=reg[b];
}
}
printf("%d\n",sum);
if (n>0) printf("\n");
}
}
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:4.353毫秒