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

Faint...怎么回事?C++ WA,G++ 0MS..不知道是不是代码哪里出问题咯?

Posted by luyade at 2008-07-21 14:02:09 on Problem 3087 and last updated at 2008-07-21 14:21:15
#include <iostream>
using namespace std;
#define  maxlen 110
char Finish[maxlen],s1[maxlen],s2[maxlen*2];
int len;

void Shuffle(char *tmp,char *tmp1,char *tmp2)
{
	int i,k;
	for(k=i=0;i<len&&k<2*len;i++)
		tmp[k++]=tmp2[i],tmp[k++]=tmp1[i];
	tmp[2*len]=0;
}
void Break(char *tmp,char *tmp1,char *tmp2)
{
	int i,k;
	for(k=0,i=len;i<2*len;k++,i++)tmp2[k]=tmp[i];
	tmp2[len]=0;
	for(i=0;i<len;i++)tmp1[i]=tmp[i];
	tmp1[len]=0;
}
int main()
{
	char tmp[maxlen*2],tmp1[maxlen],tmp2[maxlen];
	int n,ncase,answer; scanf("%d",&ncase);
	for(n=1;n<=ncase;n++)
	{
		scanf("%d",&len);scanf("%s%s%s",s1,s2,Finish);
		strcpy(tmp1,s1);strcpy(tmp2,s2);

		answer=0;
		while(true)
		{
			Shuffle(tmp,tmp1,tmp2);answer++;
			if(strcmp(tmp,Finish)==0)
			{
				printf("%d %d\n",n,answer);
				break;
			}
			Break(tmp,tmp1,tmp2);
			if(strcmp(tmp1,s1)==0)
			{
				printf("%d -1\n",n);
				break;
			}
		}
		
	}
	return 0;
}

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