Online JudgeProblem SetAuthorsOnline ContestsUser
Web Board
Home Page
F.A.Qs
Statistical Charts
Problems
Submit Problem
Online Status
Prob.ID:
Register
Update your info
Authors ranklist
Current Contest
Past Contests
Scheduled Contests
Award Contest
User ID:
Password:
  Register

Re:大家帮帮忙啊。。我这程序老超时。。汗,这年头模拟还有超时说的

Posted by zhaojianbo at 2009-04-17 19:45:27 on Problem 1049
In Reply To:Re:大家帮帮忙啊。。我这程序老超时。。汗,这年头模拟还有超时说的 Posted by:ustcxiaofeng at 2009-03-12 10:43:49
#include "stdio.h"
#include "string.h"
#define MAXN 300
char s[MAXN];
int a,b,len;
void init()
{
	int i;
	len=256;
	for (i=0;i<len;i++)
		if (s[i]<65)
			s[i]=s[i]-48;
		else 
			s[i]=s[i]-55;
}
void work()
{
	int i,add,t;
	i=a=b=0;
		do
		{
			switch(s[i])
			{
			case 0:
				add=s[i+1]*16+s[i+2];
				a=s[add];
				i+=3;
				break;
			case 1:
				add=s[i+1]*16+s[i+2];
				s[add]=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=(a+1)%16;
				i++;
				break;
			case 5:
				a--;
				if (a<0) a=15;
				i++;
				break;
			case 6:
				if (a==0)
					i=s[i+1]*16+s[i+2];
				else i+=3;
				break;
			case 7:
				i=s[i+1]*16+s[i+2];
				i++;
				break;
			case 8:
				return;
			}
		}
		while (1);
}
void output()
{
	int i;
	for (i=0;i<len;i++)
		if (s[i]>10)
			s[i]=s[i]+55;
		else 
			s[i]=s[i]+48;
	puts(s);
}
int main()
{
	int f=1,i;
	gets(s);
	while (s[0]!='8')
	{
		init();
		work();
		output();
		gets(s);
	}
	return 0;
}
我的和上面的程序基本一样,怎么会TLE?

Followed by:

Post your reply here:
User ID:
Password:
Title:

Content:

Home Page   Go Back  To top


All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator