| ||||||||||
| 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 <stdio.h>
int qy(char* a, int i, int j)
{
while(i<=j && a[i]==a[j]) {i++; j--;}
if(i>j) return 1;
else return 0;
}
int main()
{
char s1[1001], s2[1001];
int l1, l2, l;
int ok;
int i, j;
int found;
int r1, r2;
while(gets(s1)) {
found=0;
gets(s2);
if(strcmp(s1, s2)==0) {printf("No Solution.\n"); continue;}
l1=strlen(s1);
l2=strlen(s2);
l=(l1<=l2)?l1:l2;
ok=1;
for(i=-1;i<=l-1;i++) {
if(s1[i]!=s2[i]) ok=0;
r1=qy(s1, i+1, l1-1);
r2=qy(s2, i+1, l2-1);
if(r1==1 && r2==0) {
for(j=i;j>=0;j--) printf("%c", s1[j]);
found=1;
break;
}
else if(r2==1 && r1==0) {
for(j=i;j>=0;j--) printf("%c", s2[j]);
found=1;
break;
}
if(!ok) {
if(r1==1 && r2==1) {
j=i;
while(s1[j]==s2[j]) j--;
if(s1[j]<s2[j]) {
for(j=i;j>=0;j--) printf("%c", s1[j]);
found=1;
break;
}
else {
for(j=i;j>=0;j--) printf("%c", s2[j]);
found=1;
break;
}
}
}
}
if(found) {printf("\n"); continue;}
if(l1<l2) {
if(s2[l1]=='a') printf("b");
else printf("a");
for(i=l1-1;i>=0;i--) printf("%c", s1[i]);
}
if(l2<l1) {
if(s1[l2]=='a') printf("b");
else printf("a");
for(i=l2-1;i>=0;i--) printf("%c", s2[i]);
}
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