| ||||||||||
| 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 | |||||||||
为毛过了数据 WA了,求解释 附代码——直接模拟的#include <iostream>
#include <cstring>
#include <stdio.h>
#define maxsize 100+5
using namespace std;
int N,C;
int ans[1000+5];
char str1[maxsize],str2[maxsize],result[2*maxsize];
char stra[maxsize],strb[maxsize],resulta[2*maxsize];
void renew(void)
{
int i;
for(i=0;i<C;i++)
stra[i]=resulta[i];
stra[i]='\0';
for(;i<2*C;i++)
strb[i-C]=resulta[i];
strb[i-C]='\0';
}
int Shuffle(char char1[100],char char2[100])
{
int i;
for(i=0;i<C;i++)
{
resulta[2*i]=char2[i];
resulta[2*i+1]=char1[i];
}
resulta[2*i]='\0';
int a;
a=strcmp(resulta,result);
return a;
}
int main()
{
int re,num,k=1,n;
cin>>N;
n=N;
while(N--)
{
num=1;
cin>>C;
getchar();
cin.getline(str1,100);
cin.getline(str2,100);
cin.getline(result,100);
re=Shuffle(str1,str2);
//cout<<resulta<<endl;
while(re!=0)
{
// cout<<re<<endl;
num++;
renew();
//cout<<stra<<endl;
// cout<<strb<<endl;
if(strcmp(stra,str1)==0&&strcmp(strb,str2)==0)
{
num=-1;
break;
}
else
{
re=Shuffle(stra,strb);
// cout<<resulta<<endl;
// cout<<result<<endl;
}
}
//cout<<k<<" "<<num<<endl;
ans[k]=num;
k++;
}
for(k=1;k<=n;k++)
cout<<k<<" "<<ans[k]<<endl;
return 0;
}
Followed by: Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator