uva1588Kickdown

来源:互联网 发布:mysql数据库服务器 编辑:程序博客网 时间:2024/06/07 14:33

给定两个串,问新串的最小长度,新串由两个串构成,每一个大小不大于3

串不能翻转;

#include <cstdio>#include <cstring>#include <string>#include <algorithm>#include <iostream>using namespace std;const int SIZE=1e2+10;int ok(string s1,string s2){    int l1=s1.length(),l2=s2.length();    int ans=0;    for(int i=0;!ans&&i<=l1;i++){//l1放下面,枚举l2的位置        bool f=true;        for(int j=i;f&&j<l2+i;j++){            int cnt=s2[j-i]-'0';            if(j<l1)cnt+=s1[j]-'0';            if(cnt>3)f=false;        }        if(f)ans=max(l1,l2+i);    }    return ans;}int main(){    string s1,s2;    while(cin>>s1>>s2){        int ans=100010;        ans=min(ans,ok(s1,s2));        ans=min(ans,ok(s2,s1));        printf("%d\n",ans);    }}


0 0
原创粉丝点击