UVA1588-Kickdown
2018-10-30-18:27:03
原题链接
题目描述:
给出两个长度分别为n1,n2且每列高度只为1或2的长条,需要将它们放入一个高度为3的容器,求出能够容纳他们的最短容器长度。
本题思路:
模拟插入,从第一个接口开始插,如果不满足条件就跳到下一个接口,满足条件时跳出函数输出答案即可。
本题注意点:
第一次提交时没有考虑到插和被插顺序不一样导致结果不一。特殊数据2222 211112。
本题感悟:
遇到题目一定要多方位考虑,考虑到就去实现,不要根据经验主观臆断。
AC代码:
#include <cstdio>
#include <cstring>
#include <iostream>
using namespace std;
#define max 3 int link(string s1,string s2){
bool flag=false;
int len1=s1.size(),len2=s2.size();
int i,j;
for(i=;i<=len2;i++){
int index=i;
if(!flag)
for(j=;j<len1;j++){
if(s1[j]+s2[index]-*''>max)
break;
if(index==len2-||j==len1-){
flag=true;
break;
}
index++;
}
else
break;
}
return i+len1->len2?i+len1-:len2;
}//s1插s2 int main()
{
string s1,s2;
while(cin>>s1>>s2){
cout<<min(link(s1,s2),link(s2,s1))<<endl;
}
return ;
}
UVA1588-Kickdown的更多相关文章
- 第三章 数组与字符串 UVa1588 Kickdown
题目要求简述:给定长度分别为n1,n2(n1,n2<=100)且每列的高度只为1或者2的长条.需要将他们放入一个高度为3的容器,问能够容纳它们的最短容器长度. 分析: 对于这样的题目显而易见有两 ...
- [刷题]算法竞赛入门经典 3-10/UVa1587 3-11/UVa1588
书上具体所有题目:http://pan.baidu.com/s/1hssH0KO 题目:算法竞赛入门经典 3-10/UVa1587:Box 代码: //UVa1587 - Box #include&l ...
- UVA1588(Kickdown)。
只需要固定长串,拿着短串移动就好了. 我是从右往左移动,需要注意的是要判断两头重叠部分(左端重叠和右端重叠)的大小关系. #include <iostream> #include < ...
- 换抵挡装置 (Kickdown,ACM/ICPC NEERC 2006,UVa1588
题目描述:算法竞赛入门经典习题3-11 题目思路:1.两长条移动匹配 2.上下调换,取小者 #include <stdio.h> #include <string.h> int ...
- UVA-1588
只用C来写 题目:https://vjudge.net/problem/UVA-1588 #include<stdio.h> #include<string.h> #defin ...
- Kickdown UVA - 1588
A research laboratory of a world-leading automobile company has received an order to create a specia ...
- Uva 1588 Kickdown
这道题思路并不难想,在做题过程中主要遇到的困难有: 因为没有仔细的考虑边界情况,没有分析全面,导致因=没有取到而得不出正确结果,浪费的大量时间. 今后在做这类题目时,一定要先进行一个比较全面的分析+模 ...
- 【每日一题】 UVA - 1588 Kickdown
题意:uva的题,每道都是有背景的orz,都是阅读理解 题解:暴力模拟,拿着短的那个串,对着长的一格一格往左滑,每滑一格暴力扫一遍.然后再从头往右滑,我这里wa了三发,wa了后习惯性瞎改,改到后来循环 ...
- 【习题 3-11 UVA - 1588】Kickdown
[链接] 我是链接,点我呀:) [题意] 在这里输入题意 [题解] 模拟一下就好 一位一位地往右移动. [代码] #include <bits/stdc++.h> using namesp ...
- 算法习题---3.11换抵挡装置(UVa1588)
一:题目 给你连个长度分别为n1,n2且每列高度只为1或2的长条,然后将他们拼在一起,高度不能超过3,问他们拼在一起的最短长度 二:实现思路 1.获取主动轮和从动轮的数据. 2.主动轮不动,从动轮从左 ...
随机推荐
- git openssl 模块生成 https 请求的 ssl 测试证书
1,请先确定安装了相关模块 1.1,git --version 1.2,openssl version -a 2,创建一个目录, cd 到该目录下 3,生成私钥 key 文件 openssl g ...
- MD5类(MD5Helper)
项目中经常需要使用到MD5来进行加密 代码: namespace MyProject.Common { public class MD5Helper { /// <summary> /// ...
- delphi android 自动升级
用IdHTTP1下载文件到手机完成. 调用自动安装不行. First chance exception at $DFC22519. Exception class EJNIException with ...
- jquery 基础-记住
jquery最为一个库,简便. 难点在于选择器,筛选器的使用. 属性一般都是,jquery对象.函数(),括号内部添属性. s= '<tr> <td class="fix& ...
- gitlab入门
目录 git下载 注册ssh git客户端及图形化工具tortoisegit下载: git客户端安装: https://git-scm.com/download (git客户端 此种需要命令行执行 ...
- C++11并发之std::thread<转>
最近技术上没什么大的收获,也是悲催的路过~ 搞一点新东西压压惊吧! C++11并发之std::thread 知识链接: C++11 并发之std::mutex C++11 并发之std::atomic ...
- 尚硅谷redis学习8-事务
是什么? 能干嘛? 常用命令 案例说明 1.正常执行 2.放弃事务 3.全部放弃(全体连坐) 4.只抛弃错误(冤头债主) 5.watch监控 悲观锁 悲观锁(Pessimistic Lock), 顾名 ...
- Haskell语言学习笔记(83)Pipes
安装 pipes $ cabal install pipes Installed pipes-4.3.9 Prelude> import Pipes Prelude Pipes> impo ...
- linux shell 语法学习
文件比较运算符-e filename 如果 filename存在,则为真 [ -e /var/log/syslog ]-d filename 如果 filename为目录,则为真 [ -d /tmp/ ...
- git-04 同意分支合并
https://blog.csdn.net/boysky0015/article/details/78185879/