UVA 1588 Kickdown & ACM/ICPC NEERC 2006 解题报告
来源:互联网 发布:调酒师动漫知乎 编辑:程序博客网 时间:2024/04/29 16:22
题目大意
给两个长度分别为n1,n2(n1,n2<=100),且每列高度只为1或2的长条。需要将它们放入一个高度为3的容器,问能够容纳他们的最短容器长度。
题目地址:http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=51983
Sample Input & Sample Output
可以输入上述题目地址见详情(真的不是我懒)。
解题思路
这道题原题的description很长,而且还是英文的,但是翻译之后我们需要了解的也就是上面短短几十个字而已。所以新手朋友不要被英文吓到。
然后这道题我一开始思路也很简单,就是用两个for循环遍历一下,从左往右找出两根长条重合的部分,再用两根长条的和减去重合的部分,然后果然WA了。
于是我遇上了坑点一: 在sample input 的里面第一根长条的长度是大于等于第二根长条的长度的,必须考虑这个情况。
当然如果你在程序前面再加一个判断语句if的话,你会发现,你的程序还是WA。
这就是这道题的坑点二:
类似 12212 2221 这个input的话,你从左往右一个个判断的话,重合部分的0,得出的答案是9。 但是从右往左的话,重合部分是2,答案是7。
所以这道题最大的尿性就在于其检验数据按不同方向可以有两个不同答案,我们还要判断一下哪个更小,输出较小的那个答案才可以AC。
当然觉得以上废话太长的话就直接看下面的代码吧 _(:_」∠)_
#include<cstdio>#include<cstring>#include<iostream>using namespace std;char a[105],b[105];int main(){while(~scanf("%s",a)){scanf("%s",b);int A=strlen(a);int B=strlen(b);int i=0,j=0;for(i=0;i<A;++i){for(j=i;j<B+i&&j<A;++j){if(((a[j]-'0')+(b[j-i]-'0'))>3)break;}if(j>=B+i||j>=A)break;}int k1,k2;if(i<A)k1=A+B-j+i;else k1=A+B;for(i=0;i<B;++i){for(j=i;j<A+i&&j<B;++j){if(((b[j]-'0')+(a[j-i]-'0'))>3)break;}if(j>=A+i||j>=B)break;}if(i<B)k2=A+B-j+i;else k2=A+B;int ans;ans=k1<k2?k1 :k2;cout<<ans<<endl;}return 0;}
- UVA 1588 Kickdown & ACM/ICPC NEERC 2006 解题报告
- Kickdown, ACM/ICPC NEERC 2006, UVa 1588
- Kickdown, ACM/ICPC NEERC 2006, UVa1588
- 2017-2018 ACM-ICPC, NEERC解题报告
- 2012-2013 ACM-ICPC, NEERC, Southern Subregional Contest 解题报告
- [2014-2015 ACM-ICPC, NEERC Subregional Contest]解题报告
- Moscow Subregional of NEERC, ACM ICPC 2016-2017 解题报告
- 习题3-11 换低挡装置(Kickdown, ACM/ICPC NEERC 2006, UVa1588)
- 2014-2015 ACM-ICPC Northeastern European Regional Contest (NEERC 14) 解题报告
- UVA 1587 Box 【ACM/ICPC NEERC 2004】
- Alignment of Code,ACM/ICPC NEERC 2010,UVa 1593
- ACM/ICPC 2014 北京站题 解题报告
- ACM/ICPC乌鲁木齐2017解题报告
- uva 1588Kickdown
- Kickdown UVa 1588
- UVa 1588 - Kickdown
- UVa 1588 - Kickdown
- UVa 1588 Kickdown
- JMeter 参数设置 变量 url
- UVA 10160 Servicing Stations
- 归档和反归档以及文件管理
- Jquery 使用记录
- 最小代价生成树
- UVA 1588 Kickdown & ACM/ICPC NEERC 2006 解题报告
- 海量数据处理 bitmap算法实现32位压缩排序(位图排序)
- Visual Assist X设置
- 输入整型数组和排序标识,对其元素按照升序或降序进行排序
- 基于ES的搜索+筛选+排序解决方案
- 【读书笔记】iOS-Xcode-模拟器操作的一些快捷键
- ffmpeg API录制rtsp视频流
- JavaScript高级程序设计笔记(5)
- poj 3468 A Simple Problem with Integers(线段树 [区间更新])