1. 程式人生 > >貪心演算法之+-字串

貪心演算法之+-字串

                思路:兩個字串第i個‘-’的距離 (i從1到字串的‘-’的個數),然後加和即可。(思路還是說不出來,看程式碼大哭)          

 #include <stdio.h>
#include <string.h>
int main()
{    int i;
    char a[5005],b[5005];
    while(scanf("%s\n",a)&&scanf("%s",b)!=EOF)
     {   int k=-1,h=-1,sum=0;
         int len=strlen(a);
         int flag1=0,flag2=0;
         for(i=0;i<len;i++)
           {
            if(a[i]=='-')
                flag1++;
            if(b[i]=='-')
                  flag2++;
            }
               if(flag1==flag2)
            {   while(flag1--)
                {for(i=k+1;i<len;i++)
                   if(a[i]=='-')
                    {
                        k=i; break;
                    }
                 for(i=h+1;i<len;i++)
                    if(b[i]=='-')
                     {
                          h=i;break;
                     }
                 if(h>k)
                     sum+=(h-k);
            else sum+=(k-h);
            }  

               printf("%d\n",sum);
      }
     else printf("-1\n");
     }
    return 0;
}