Uva 1588.Kickdown

题目比较简单,反而我觉得这道题英语比算法难233333

读入数据后,循环判断每个位置是不是都是2就行

 1 #include <cstdio>
 2 #include <cstring>
 3 #include <algorithm>
 4 using namespace std;
 5 
 6 #define REP(n) for(int o=0;o<n;o++)
 7 
 8 bool Do();
 9 
10 int main(){
11     //freopen("in.txt","r",stdin);
12     while(Do());
13     return 0;
14 }
15 
16 bool Do(){
17     const int maxn=105;
18     char s1[maxn],s2[maxn];
19     REP(maxn)
20         s1[o]=s2[o]='';
21     if(scanf("%s%s",s1,s2)==EOF)
22         return false;
23     int len1=strlen(s1),len2=strlen(s2);
24     int Min=len1+len2;
25     for(int i=-len1;i<=len2;i++){
26         bool can=true;
27         for(int j=0;j<len1;j++)
28             if(i+j>=0&&i+j<len2&&s1[j]=='2'&&s2[i+j]=='2')
29                 can=false;
30         //printf("    %d %d
",i,max(len2,len1+i)-min(i,0));
31         if(can)
32             Min=min(Min,max(len2,len1+i)-min(i,0));
33     }
34     printf("%d
",Min);
35     return true;
36 }
原文地址:https://www.cnblogs.com/ohyee/p/5154329.html