UVA 1588_Kickdown

来源:互联网 发布:淘宝女鞋正品 编辑:程序博客网 时间:2024/06/07 02:56

题目链接:http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=51983


题目意思是说,给你两个每列高度为1或2的长条,让你塞进高度为3的容器里,问你这个容器最短要多长。


只要分别以两个长条为基础,移动另外一个长条然后比对,计算出他们重合的部分,最后拿他们的总长度减去重合部分就是这个容器的长度了。

然后这道题莫名其妙地WA了好多发,真的是莫名其妙······


#include<iostream>#include<string.h>#include<stdio.h>using namespace std;int main(){char a[110];char b[110];while(cin>>a>>b){int len1=strlen(a);int len2=strlen(b);int k=0;int i=0;int kk=0;while(k<len2&&i<len1){int p=a[i]-'0';int q=b[k]-'0';if(p+q<=3){i++;k++;}else{kk++;i=kk;k=0;}}int ans=len1+len2-k;i=0;k=0;kk=0;while(k<len2&&i<len1){int p=a[i]-'0';int q=b[k]-'0';if(q+p<=3){i++;k++;}else{kk++;k=kk;i=0;}}int nut=len1+len2-i;ans=ans<nut?ans:nut;printf("%d\n",ans);}return 0;}


0 0
原创粉丝点击