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的更多相关文章

  1. 第三章 数组与字符串 UVa1588 Kickdown

    题目要求简述:给定长度分别为n1,n2(n1,n2<=100)且每列的高度只为1或者2的长条.需要将他们放入一个高度为3的容器,问能够容纳它们的最短容器长度. 分析: 对于这样的题目显而易见有两 ...

  2. [刷题]算法竞赛入门经典 3-10/UVa1587 3-11/UVa1588

    书上具体所有题目:http://pan.baidu.com/s/1hssH0KO 题目:算法竞赛入门经典 3-10/UVa1587:Box 代码: //UVa1587 - Box #include&l ...

  3. UVA1588(Kickdown)。

    只需要固定长串,拿着短串移动就好了. 我是从右往左移动,需要注意的是要判断两头重叠部分(左端重叠和右端重叠)的大小关系. #include <iostream> #include < ...

  4. 换抵挡装置 (Kickdown,ACM/ICPC NEERC 2006,UVa1588

    题目描述:算法竞赛入门经典习题3-11 题目思路:1.两长条移动匹配 2.上下调换,取小者 #include <stdio.h> #include <string.h> int ...

  5. UVA-1588

    只用C来写 题目:https://vjudge.net/problem/UVA-1588 #include<stdio.h> #include<string.h> #defin ...

  6. Kickdown UVA - 1588

    A research laboratory of a world-leading automobile company has received an order to create a specia ...

  7. Uva 1588 Kickdown

    这道题思路并不难想,在做题过程中主要遇到的困难有: 因为没有仔细的考虑边界情况,没有分析全面,导致因=没有取到而得不出正确结果,浪费的大量时间. 今后在做这类题目时,一定要先进行一个比较全面的分析+模 ...

  8. 【每日一题】 UVA - 1588 Kickdown

    题意:uva的题,每道都是有背景的orz,都是阅读理解 题解:暴力模拟,拿着短的那个串,对着长的一格一格往左滑,每滑一格暴力扫一遍.然后再从头往右滑,我这里wa了三发,wa了后习惯性瞎改,改到后来循环 ...

  9. 【习题 3-11 UVA - 1588】Kickdown

    [链接] 我是链接,点我呀:) [题意] 在这里输入题意 [题解] 模拟一下就好 一位一位地往右移动. [代码] #include <bits/stdc++.h> using namesp ...

  10. 算法习题---3.11换抵挡装置(UVa1588)

    一:题目 给你连个长度分别为n1,n2且每列高度只为1或2的长条,然后将他们拼在一起,高度不能超过3,问他们拼在一起的最短长度 二:实现思路 1.获取主动轮和从动轮的数据. 2.主动轮不动,从动轮从左 ...

随机推荐

  1. 如何在notepad++实现代码自动化排版(调用Astyle)

    我先介绍这个怎么在notepad++中调用原版的astyle的方法. 在notepad++:运行或是F5, 在输入框中选择astyle.exe所在的目录,什么你没有astyle,下载地址https:/ ...

  2. react-native android 和ios 集成 jpush-react-native 激光推送

    安装 $ npm install jpush-react-native --save # jpush-react-native 版本以后需要同时安装 jcore-react-native $ npm ...

  3. groovy Date 格式化

    刚开始使用Java,瞬间爱上:换了个厂接触到了groovy,开始有点嫌弃Java了... 看看时间的格式化 java玩法: new SimpleDateFormat("yyyy-MM-dd ...

  4. msimg32.lib不用为绝对路径发愁

    msimg32.lib不用为绝对路径发愁 以前是每个工程添加bcb绝对路径下的 D:\Program Files (x86)\Borland\CBuilder6\Lib\Psdk\msimg32.li ...

  5. day03-数据类型

    数据类型 一.介绍 存储引擎决定了表的类型,而表内存放的数据也要有不同的类型,每种数据类型都有自己的宽度,但宽度是可选的 mysql常用数据类型概括:#1. 数字: 整型:tinyint.int.bi ...

  6. javascript的DOM操作获取元素

    一.document.getElementById()    根据Id获取元素节点 <div id="div1"> <p id="p1"> ...

  7. 翻转单链表 leetcode Reverse Linked List

    翻转一个单链表.这个题目听说很多次了,总感觉肯定不是什么难题. 现在真的有点好高骛远了!总感觉那种很难的算法题才是难题,这种题没必要做.其实眼高手低啊. 这种easy题,我都不能一遍ac,这遇到白板编 ...

  8. mysql字符串处理

    MySQL字符串操作: substring(column_name, "start_position"); # 从指定的位置(第二个参数, start_position)开始,取到 ...

  9. 4:list 列表

    list:列表.数组.array . list 是有序的,list的定义以 [] 为标识.如:list1 = ['name1', 'name2', 'name3'] 元素可以是任何类型的,如字符串.数 ...

  10. for里的上一个/下一个下标的安全写法

    const len:int=10; for(var:int=0;i<len;i++){ var previ:int=(i-1+len)%len; var nexti:int=(i+1)%len; ...