| ||||||||||
| Online Judge | Problem Set | Authors | Online Contests | User | ||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Web Board Home Page F.A.Qs Statistical Charts | Current Contest Past Contests Scheduled Contests Award Contest | |||||||||
Re:大家帮帮忙啊。。我这程序老超时。。汗,这年头模拟还有超时说的In Reply To:大家帮帮忙啊。。我这程序老超时。。汗,这年头模拟还有超时说的 Posted by:yzhw at 2009-02-23 12:15:32
case6 和case7的代码写错了吧,应该是下面的
case 6:
if(!a){
i=line[i+1]*16+line[i+2];
}
else i+=3;;
break;
case 7:
i=line[i+1]*16+line[i+2];
break;
> # include <iostream>
> using namespace std;
> int main()
> {
> while(1)
> {
> char line[256];
> bool flag=true;
> int i,a=0,b=0,t;
> for(i=0;i<256;i++)
> {
> cin>>line[i];
> if(line[i]>=65) line[i]-=55;
> else line[i]-=48;
> }
> if(line[0]==8) break;
> i=0;
> while(i<256&&flag)
> {
> switch(line[i])
> {
> case 0:
> a=line[line[i+1]*16+line[i+2]];
> i+=3;
> break;
> case 1:
> line[line[i+1]*16+line[i+2]]=a;
> i+=3;
> break;
> case 2:
> t=a;
> a=b;
> b=t;
> i++;
> break;
> case 3:
> t=a+b;
> a=t%16;
> b=t/16;
> i++;
> break;
> case 4:
> a++;
> if(a==16) a=0;
> i++;
> break;
> case 5:
> a--;
> if(a==-1) a=15;
> i++;
> break;
> case 6:
> if(!a)
> {
>
> i=line[i+1]*16+line[i+2];
> i+=3;
> }
> else i++;
> break;
> case 7:
> i=line[i+1]*16+line[i+2];
> i+=3;
> break;
> case 8:
> flag=false;
> break;
> };
> }
> for(i=0;i<256;i++)
> {
> if(line[i]<=9) printf("%d",line[i]);
> else if(line[i]==10) printf("A");
> else if(line[i]==11) printf("B");
> else if(line[i]==12) printf("C");
> else if(line[i]==13) printf("D");
> else if(line[i]==14) printf("E");
> else printf("F");
> }
> printf("\n");
> }
> return 0;
> }
>
>
>
Followed by:
Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator