给你两个锯齿状物质(我也不知道叫啥
求一个最短的容器使这两个能同时装下
刚开始看不懂。。。
看懂了还是挺水的
让一个在上面,一个在下面
刚开始左端对齐
每次往左移动一下并判断需要的长度
往左移动的时候我油把自己绕进去了(为什么要说又
草稿纸大法好
attention,最短不能短于两个中最长的那根(想一想,为什么
翻过来再来一次,输出最短的那次
写完才发现我的max min嵌套也是。。。
23333333333
#include<cstdio>
#include<algorithm>
#include<cstring>
using namespace std;
int cal(char a[],char b[]){
int x=strlen(a);
int y=strlen(b);
int ans=x+y;
for(int i=0;i<y;i++){
bool flag=true;
int j;
for(j=0;j<x && j+i<y;j++)
if(a[j]+b[i+j]-2*'0'>3){
flag=false;
break;
}
if(flag){
ans=min(ans,max(max(x,y),i+x));
}
}
return ans;
}
int main(){
char s1[105];
char s2[105];
while(~scanf("%s %s",&s1,&s2)){
printf("%d\n",min(cal(s1,s2),cal(s2,s1)));
}
return 0;
}