UVa 1588 - Kickdown

从头到尾扫两边即可

 1 #include <iostream>
 2 #include <cstring>
 3 using namespace std;
 4 char a[105],b[105];
 5 int aa[105],bb[105];
 6 int la,lb,ans;
 7 bool flag;
 8 void fuc(int a[],int b[],int la,int lb)
 9 {
10     int tmp=0;
11     int i,j,k;
12     i=j=k=0;
13     while(i<la&&j<lb)
14     {
15         if(a[i]+b[j]<=3) i++,j++;
16         else
17         {
18             k++;
19             i=k;
20             j=0;
21         }
22     }
23     tmp=la+lb-j;
24     ans=min(tmp,ans);
25 }
26 int main()
27 {
28     while(cin>>a>>b)
29     {
30         ans=200;
31         la=strlen(a);
32         lb=strlen(b);
33         for(int i=0;i<la;i++) aa[i]=a[i]-'0';
34         for(int j=0;j<lb;j++) bb[j]=b[j]-'0';
35         fuc(aa,bb,la,lb);
36         fuc(bb,aa,lb,la);
37         cout<<ans<<endl;
38     }
39 }

 

posted @ 2016-03-28 23:18  nicetomeetu  阅读(150)  评论(0编辑  收藏  举报