这道题思路并不难想,在做题过程中主要遇到的困难有:

  因为没有仔细的考虑边界情况,没有分析全面,导致因=没有取到而得不出正确结果,浪费的大量时间。

  今后在做这类题目时,一定要先进行一个比较全面的分析+模拟,再动手写代码,避免浪费时间。

  

 #include <cstdio>
#include <cstring>
#include <algorithm>
using namespace std;
#define maxn 1000
int main(){
int len1,len2;
char s1[maxn],s2[maxn];
while(scanf("%s %s",s1,s2)!=EOF){
len1=strlen(s1);
len2=strlen(s2);
for(int i=len1;i<len1+len2;i++)s1[i]='';
for(int i=len2;i<len1+len2;i++)s2[i]='';
int ok;
int minv=maxn;
for(int i=;i<=len2;i++){
ok=;
for(int j=;j<min(len1,len2-i);j++){
if(s2[i+j]+s1[j]-*''>){
ok=;
break;
}
}
if(ok&&max(len2,len1+i)<minv)minv=max(len2,len1+i);
}
for(int i=;i<=len1;i++){
ok=;
for(int j=;j<min(len2,len1-i);j++){
if(s1[i+j]+s2[j]-*''>){
ok=;
break;
}
}
if(ok&&max(len1,len2+i)<minv)minv=max(len1,len2+i);
}
printf("%d\n",minv);
}
return ;
}
05-06 12:04