| ||||||||||
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