【題目描述】
傳送門
【題目分析】
剛開始想了一會沒有想到什么很好的算法,看到了長度最多為100,就知道自己想的沒有什么意義了,直接暴力,把每一種填法都試一下就知道了。適當剪枝一下(一個簡單的樂觀函數)
【AC代碼】
#include<cstdio>
#include<cstring>
#include<cstdlib>
#include<algorithm>
#include<iostream>
#include<cmath>
#include<climits>
#include<queue>
#include<vector>
#include<set>
#include<map>
using namespace std;typedef long long ll;
const int INF=0x3f3f3f3f;
const int MAXN=2e2+5;
char s1[MAXN],s2[MAXN];int ans,len;int main()
{int len1,len2;bool flag;while(~scanf("%s%s",s1,s2)){len1=strlen(s1); len2=strlen(s2);ans=len1+len2;for(int i=0;i<len1;i++){len=max(len1,i+len2);if(len>=ans) continue;flag=true;int u=i; int v=0;while(u<len1 && v<len2){if(s1[u]-'0'+s2[v]-'0'>3){flag=false;break;}u++; v++;}if(flag)ans=len;}for(int i=0;i<len2;i++){len=max(len2,i+len1);if(len>=ans) continue;flag=true;int v=i; int u=0;while(u<len1 && v<len2){if(s2[v]-'0'+s1[u]-'0'>3){flag=false;break;}u++; v++;}if(flag)ans=len;}printf("%d\n",ans);}return 0;
}