zp1881.cpp
来自「浙江大学acm在线判题器代码集。 本人在浙大acm判题器上的所有代码(心血) 」· C++ 代码 · 共 76 行
CPP
76 行
#include <stdio.h>
#include <string.h>
int main(int argc, char* argv[])
{
int n,s,i,ram[1000]={0},res[10]={0};
char st[4];
while (gets(st)>0)
{
memset(ram,0,sizeof(ram));
memset(res,0,sizeof(res));
n=0;
ram[n++]=(st[0]-'0')*100+(st[1]-'0')*10+st[2]-'0';
while (gets(st) && st[0]!='\0')
ram[n++]=(st[0]-'0')*100+(st[1]-'0')*10+st[2]-'0';
i=0;
s=0;
while (1)
{
s++;
switch (ram[i]/100)
{
case 0:
if (res[ram[i]%10])
i=res[ram[i]%100/10]-1;
break;
case 1:
break;
case 2:
res[ram[i]%100/10]=ram[i]%10;
res[ram[i]%100/10]%=1000;
break;
case 3:
res[ram[i]%100/10]+=ram[i]%10;
res[ram[i]%100/10]%=1000;
break;
case 4:
res[ram[i]%100/10]*=ram[i]%10;
res[ram[i]%100/10]%=1000;
break;
case 5:
res[ram[i]%100/10]=res[ram[i]%10];
res[ram[i]%100/10]%=1000;
break;
case 6:
res[ram[i]%100/10]+=res[ram[i]%10];
res[ram[i]%100/10]%=1000;
break;
case 7:
res[ram[i]%100/10]*=res[ram[i]%10];
res[ram[i]%100/10]%=1000;
break;
case 8:
res[ram[i]%100/10]=ram[res[ram[i]%10]];
res[ram[i]%100/10]%=1000;
break;
case 9:
ram[res[ram[i]%10]]=res[ram[i]%100/10];
ram[res[ram[i]%10]]%=1000;
break;
}
if (ram[i]==100)
break;
i++;
}
printf("%d\n",s);
}
return 0;
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?