UVA - 1588 换低挡装置

UVa1588(换低档装置) UVa1588(算法竞赛第二版习题3-11) 题目描述:给出两个长度为n1,n2(n1,n2≤100)n_1,n_2(n_1,n_2 \le 100)n1​,n2​(n1​,n2​≤100)且每列高度只为1或2的长条。需要将它们放入一个高为3的容器,问能够容纳它们的最短容器长度。 例如: 读入的数据对应: 2112112112 2212112 对应的最小容器(长度为10) Input:读入数... 阅读详情

思路:模拟题 注意下标i+j 和j的对应字符串的匹配关系  注意要模拟从最左边到最右边 

刚开始做莫名其妙WA,检查不出错误,后面重写了才过的

AC代码:

#include<cstring>
#include<iostream>
#include<cstdio>
using namespace std;
char s1[105],s2[105];  //用字符串读方便

int main(){
while(cin>>s1>>s2){
    int a=strlen(s1),b=strlen(s2);
    int chongdie=0;
    int minnum=10000000;
       if(a<b){
            char temp[105];
        memcpy(temp,s1,sizeof(s1));
       memcpy(s1,s2,sizeof(s1));
       memcpy(s2,temp,sizeof(s1));

       a=strlen(s1);
       b=strlen(s2);
       }
       for(int i=-b;i<=a;i++){
            int flag=0;
        for(int j=0;j<b;j++){
            if(j+i>=0&&i+j<a){
                if(s1[j+i]+s2[j]-'0'>'3'){    
                    flag=1;
                    break;
                }
            }

        }
         if(!flag&&i<0){
                minnum=min(-i+a,minnum);
            }
            else if(!flag&&i>a-b){
                minnum=min(i+b,minnum);
            }
            else if(!flag&&i>=0&&i<=a-b){   //此时为最小值
                chongdie=1;
                break;
            }

       }
       if(chongdie)printf("%d\n",a);
       else printf("%d\n",minnum);
}
return 0;
}

详解-紫书习题3-11 换低挡装置(Kickdown, ACM/ICPC NEERC 2006, UVa1588) 紫书习题3-11 换低挡装置(Kickdown, ACM/ICPC NEERC 2006, UVa1588) 题目:给出两个长度分别为n1,n2(n1,n2≤100) 且每列高度只为1或2的长条。需要将它们放入一 个高度为3的容器(如图3-8所示),问能够容纳 它们的最短容器长度。 参考博客:同样犯错知识点,将字符串转化为数字时,开的数组要足够大。注意字符串数组里的元素是字符,需将字符转化为数字时,用a[i]-‘0’。 #include<bits/stdc++.h> using namespa 阅读详情

相关推荐

题解:换低档装置(UVa 1588)

题目链接:https://vjudge.net/problem/UVA-1588 解题思路:主要思路即保持一条不动(为方便称作上游),另一条从上游的第一个位置开始向后不断尝试嵌套,判断是否嵌套成功。因为嵌套成功有2种情况,即下游尾巴是否多出上游;所以考虑上游起始位置+下游长度的值和上游固有长度的较大者即可。此外:我认为有两点需要注意:①如何判断嵌套不成功?可以将字符转化为数字;②上下游要交换,分别求

nustart0720 1106

【每日一题】 UVA - 1588 Kickdown

题意:uva的题,每道都是有背景的orz,都是阅读理解 题解:暴力模拟,拿着短的那个串,对着长的一格一格往左滑,每滑一格暴力扫一遍。然后再从头往右滑,我这里wa了三发,wa了后习惯性瞎改,改到后来循环都改错了。 shortest solution 用while循环ij当指针,还写了个函数处理左右滑。 #include<stdio.h> #include<st...

Vincent19999999的博客 243

二、ROS2完成Docker容器和宿主机通信,使用ros2 topic list看到,但是无法echo

如果容器和主机权限不一致,则会导致无法通信(我的代码中,docker容器是root,宿主机是普通用户),虽然可以查询到相关话题,但是订阅后没有消息输出。比如,docker容器创建了一个共享内存,其所有者为docker容器用户root,当宿主机去访问的时候,由于用户不同,没有权限访问,也就无法进行信息传递。该方法只是临时修改共享内存的权限,每次运行完,需要重新运行上述命令,才可以进行通信。在运行的过程中,ROS2使用了共享内存机制,会共享内存。运行之后,宿主机和容器可能用户名不同,这是因为。

qq_43280851的博客 1265

UVa1588(换抵挡装置 Kickdown)

UVa1588 解题报告 (换抵挡装置 Kickdown)1、题目大意 1、题目大意 题目链接UVa1588 题目大意:给出两个长度分别为 n1, n2 (n1, n2 ≤ 100) 且每列高度只为1或2的长条。需要将它们放入一个高度为3的容器,如图。问能够容纳它们的最短容器长度。 ...

Armstrong的博客 589

当OTN网络遭遇LOS告警:5个运维老手才知道的故障定位技巧(含CA动作对照表)

本文深入解析OTN网络中LOS告警的实战定位技巧,涵盖光功率深度诊断、模块差异分析及核心的CA动作机制。通过逆向追踪告警流与对照速查表,帮助运维人员快速锁定故障段落,区分硬软故障,并掌握系统健康度评估方法,从而提升排障效率与网络稳定性。

weixin_29266007的博客 550

硅谷刷屏的ClawdBot,让Mac mini卖爆了!创始人爆料:一人开发、100% AI 写代码

这两天,个人 AI 助手 ClawdBot 席卷硅谷,国内外社交平台上全是关于它的讨论。 在试用后,网友们纷纷给出了很高的评价。“它是迄今为止最伟大的 AI 应用,相当于你 24 小时全天候专属 AI 员工。”Creator Buddy 创始人兼 CEO Alex Finn 盛赞道,“这就是他们 (Anthropic) 希望 Claude Cowork 呈现的样子。”

技术引领业务创新 1583

UVA——1588

问题描述: 解决方案: #include #include #include int getLength(char*top,char*bottom) { int len1 = 205,len2 = 205; int b_index = 0; int p; while(bottom[b_index]) { p = 0;

LinJanDing的博客 387

FOC项目知识点总结三 | 完全搞懂 Clarke 与 Park 变换(附动图,仿真文件以及详细讲解数学推导过程)

本文目的,最终可以完整推算两种变换 Clarke 变换 首先先看我们需要用到的两种坐标系 1. 自然坐标系 abcabcabc 我们知道,通过三相逆变电路,我们可以画出一个自然坐标系 abcabcabc ,即三相电压的坐标系,通入的电流在这三轴坐标系中变化: 将三个矢量相加合并在一起就如下图所展现: 使用三个坐标轴来表示十分的麻烦与不直观,因为其是非正交的,于是乎我们想要将其转化成使用两个正交的坐标轴来表示,于是乎便有了 Clarke变换。 Clarke 变换的作用: 将基于三轴二维的定子静止坐标系的各

Wilson Huang的博客 3万+

UVa1588--Kickdown--换低挡装置

题目链接https://vjudge.net/problem/UVA-1588 题意:给出两个长度分别为n1,n2(n1,n2≤100)且每列高度只为1或2的长条。需要将它们放入一个高度为3的容器(如图所示),问能够容纳它们的最短容器长度。 分析:具体请看代码。 1、max(len1,i+len2)中包含的两种情况。len1长度足够,另一种len1长度不够。 2、本来的情况

话歪之地的博客 585

【SimPy系列博客之官方example学习与解读】—— Example 1: Bank Renege

Hello,优快云的各位小伙伴们,拖更了几年后,又重新开始记录这段时间准备学习的东西啦!最近博主在学习 SimPy 的相关知识,发现国内关于 SimPy 的介绍还是相对较少,且缺乏系统性,因此博主打算用1~2周的时间,边学边记,打算从 SimPy 官方给出的几个例子出发分析 SimPy 的使用场景和用法,希望能和大家互勉!那废话不多说,我们直接开始吧!今天要学习的例程是 Bank Renege。

凝望,划过星空的博客 2008

基于奥比中光Orbbec Astra Pro与ROS实现实时3D环境建模:orb_slam2实战指南

本文提供了一份详细的实战指南,介绍如何使用奥比中光Orbbec Astra Pro深度摄像头与ROS系统,部署并运行ORB-SLAM2算法,实现实时3D环境建模与定位。内容涵盖从驱动安装、环境配置、算法编译到摄像头标定与性能调优的全流程,旨在帮助开发者快速搭建一套高性价比的视觉SLAM系统。

weixin_29054399的博客 333

Kickdown UVA - 1588 换低挡装置

题目链接 给出两个长度分别为n1,n2(n1,n2≤100)且每列高度只为1或2的长条。需要将它们放入一个高度为3的容器(如图3-8所示),问能够容纳它们的最短容器长度。 分析: 下板不动,移动上板。上板可以左右两个方向移动,上板左移实际就是下板不动,下板右移。 #include &lt;iostream&gt; #include &lt;algorithm&gt; using ...

Nicolas的博客 398

使用 Python 构建 Reddit 热帖爬虫:抓取热门讨论帖和评论

在现代互联网中,Reddit 被誉为全球最大、最活跃的讨论平台之一,汇聚了各种主题的帖子、评论和社交互动。因此,抓取 Reddit 上的热门帖子和评论可以为我们提供一个丰富的文本数据源,可以用于情感分析、话题建模、趋势分析等应用。Reddit 提供了官方的 API,可以让开发者获取包括帖子、评论、用户信息等在内的各种数据。我们可以结合上述方法,抓取多个热门帖子,并将每个帖子的标题、作者、发布时间和评论内容保存到一个数据结构中。每个帖子的对象包含了丰富的信息,如标题、内容、发布时间、作者等。

2201_76125261的博客 381

P59 3-11 换低挡装置 UVa1588

int main() { char str1[1000],str2[1000]; gets(str1); gets(str2); int len1=strlen(str1); int len2=strlen(str2); int i,flag=0,j,k; int way1=0,way2=0; for(i=0;i<len1;i+...

Guooooozy的博客 413

京东豆自动领取脚本配置教程

腾讯云/阿里云服务器(Docker环境):全自动跑脚本领京豆(无需本地代理,使用加速源)

AIOT魔法师 855

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

习题3-11 换低挡装置 UVa1588

1.题目描述:点击打开链接 2.解题思路:本题要求找一个尽量小的长度,使得能够容纳下两个不同的装置。还是考虑暴力搜索:假设两个装置分别为a,b,,长度分别为n1,n2.那么固定b(b的起始位置固定到位置n1),从左往右枚举a的起始位置,看能否和b进行匹配。如果可以,更新最小的长度。输出即可。 另外,也可以从对称性的角度考虑。由于固定装置是相对的,因此考虑固定b和固定a两者的最小值即可。 3.

Skyline 821

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

uva 1588 - Kickdown(换低挡装置)

习题3-11 换低挡装置(Kickdown, ACM/ICPC NEERC 2006, UVa1588) 给出两个长度分别为n1,n2(n1,n2≤100)且每列高度只为1或2的长条。需要将它们放 入一个高度为3的容器(如图3-8所示),问能够容纳它们的最短容器长度。 Sample Input 2112112112 2212112 12121212 2121

SuCicada 小米的蝉 817

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

UVA-1588 换低挡装置 题解答案代码 算法竞赛入门经典第二版

https://github.com/jzplp/aoapc-UVA-Answer #include<cstdio> #include<cstring> #define MAXN 205 char s1[MAXN]; char s2[MAXN]; int main() { int i,j,k,n, len1, len2; int a1, a2; while(s...

Coding home - 漂流瓶jz 390

算法竞赛入门经典(第2版)习题3-11 换低挡装置 Kickdown UVa1588

逻辑很简单 1.读入n1/n2,测量各自长度 2.

archya的专栏 1611

换低挡装置(Kickdown, ACM/ICPC NEERC 2006, UVa1588)rust解法

给出两个长度分别为n1,n2(n1,n2≤100)且每列高度只为1或2的长条。需要将它们放入一个高度为3的容器(如图3-8所示),问能够容纳它们的最短容器长度。

void的博客 484

《算法竞赛入门经典2ndEdition 》习题3-11 换低挡装置(Kickdown, Uva1588)

这题我想的时候画了幅图帮助理解。 最初,将min初始化为m与d的长度之和。 思想就是最开始把m的首位跟d的最后一位对齐,若此时能够合适的匹配,就算出此时所需长度,并与当前的min取最小,更新min,这是一次。 然后将m的首位前移一位,重复上述步骤。 再继续前移m,直到m的最后一位与d的首位对齐时,输出当前的min值然后继续读入下一组数据,从头继续按照步骤进行下一组数据。 下面附上代码图片

Occupied优快云的博客 1024

《算法竞赛入门经典》 习题3-11 换抵挡装置(Kickdown,ACM/ICPC NEERC 2006,UVa1588)

#《算法竞赛入门经典》 习题3-11 换抵挡装置(Kickdown,ACM/ICPC NEERC 2006,UVa1588) ##原题: A research laboratory of a world-leading automobile company has received an order to create a special transmission mechanism, which...

GGYzzX 的博客 749

UVA1588 换抵挡装置 Kickdown

一家全球顶尖汽车企业的研究实验室接到订单,需要研发一款特殊变速机构,该机构能实现极高效的降挡操作(切换至低速挡位)。经过数月研究,工程师发现最优方案需要使用齿和凹槽分布不均匀的特殊齿轮,并且已经算出齿轮齿面的最优形态。现在他们需要开展实验来验证该结论。实验第一阶段采用平面齿状条块替代圆形齿轮。一段条块由 n 个单元组成,每个单元要么是高度 h 的凹槽(用字符 1 表示),要么是高度 2h 的齿(用字符 2 表示)。实验需要两段条块:一段模拟主动齿轮(齿在下方),一段模拟从动齿轮(齿在上方)。

2401_85048117的博客 192

换低档装置ACM

算法竞赛入门经典 习题3-11 换低挡装置(Kickdown, ACM/ICPC NEERC 2006, UVa1588) 给出两个长度分别为n1,n2(n1,n2≤100)且每列高度只为1或2的长条。需要将它们放 入一个高度为3的容器(如图3-8所示),问能够容纳它们的最短容器长度。 分析:先固定一个长的,让短的那根长条从最开始往后移,遇到吻合的话就输出,结束循环。 C语言代码: #inclu...

Anterior_condyle的博客 556

【UVA】 1588 --- Kickdown

【UVA】 1588 --- Kickdown A research laboratory of a world-leading automobile company has received an order to create a special transmission mechanism, which allows for incredibly efficient kickdown – a...

来日浅谈的博客 765

习题3-11 换抵挡装置 UVa1588

算法竞赛入门经典(第2版)第3章 数组和字符串 习题3-11 换抵挡装置 UVa1588 感悟。 1、上网站下载英文原题,仔细阅读。 2、持续的移动咬合想不清时,可以考虑分段的移动咬合,等能力强劲后可以考虑是否能一次性解决。 3、移动的长条选小的,不动的选长度长的长条,左边右边都添加小的长条空间。 4、思路比较简单,但编写比较困难,尤其是分段函数接壤部分的处理。

mrcrack的博客 747
上一篇: UVa 202 - Repeating Decimals
下一篇: UVa 253 Cube painting
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值