UVA-1588
只用C来写
题目:https://vjudge.net/problem/UVA-1588
#include<stdio.h>
#include<string.h>
#define LEN 1000 int l(int lenth1,int lenth2,int keep)
{
int lenth;
int m=lenth1-lenth2;
if(keep<=m)lenth=lenth1;
else lenth=keep+lenth2;
return lenth;
} int lp(int lenth1,int lenth2,int keep)
{
return (lenth2-keep-+lenth1);
}
int main()
{
char down[LEN]={''};
char up[LEN]={''};
while(scanf("%s",down)!=EOF)
{ int lenth1,lenth2,i;
int check=,keep,LONG1,LONG2;
int LONG;
char* temp;
scanf("%s",up);
lenth1=strlen(down);
lenth2=strlen(up);
if(lenth1<lenth2)
{
char u[LEN];
int mid;
strcpy(u,down);
for(i=;i<LEN;i++)down[i]='\0';
strcpy(down,up);
for(i=;i<LEN;i++)up[i]='\0';
strcpy(up,u);
mid=lenth1;
lenth1=lenth2;
lenth2=mid;
}
temp=&up[];
for(i=;;i++)
{
if(i==lenth1){LONG1=lenth1+lenth2;break;}
keep=i;
for(;temp<=&up[lenth2-];temp++,i++)
{
int sum;
if(down[i]!='\0')sum=(*temp-'')+(down[i]-'');
if(down[i]=='\0')sum=;
if(sum==){check=;break;}
if(sum!=)check=;
}
if(check==){LONG1=l(lenth1,lenth2,keep);break;}
i=keep;
temp=&up[];
}
temp=&up[lenth2-];
check=;
for(i=lenth2-;;i--)
{
if(i==-){LONG2=lenth1+lenth2;break;}
keep=i;
for(;temp>=&up[];temp--,i--)
{
int sum;
if(down[i]!='\0')sum=(*temp-'')+(down[i]-'');
if(down[i]=='\0')sum=;
if(sum==){check=;break;}
if(sum!=)check=;
}
if(check==){LONG2=lp(lenth1,lenth2,keep);break;}
i=keep;
check=;
temp=&up[lenth2-];
}
LONG=(LONG1>LONG2)?LONG2:LONG1;
printf("%d\n",LONG);
for(i=;i<LEN;i++)up[i]='\0';
for(i=;i<LEN;i++)down[i]='\0';
}
return ;
}
UVA-1588的更多相关文章
- 【每日一题】 UVA - 1588 Kickdown
题意:uva的题,每道都是有背景的orz,都是阅读理解 题解:暴力模拟,拿着短的那个串,对着长的一格一格往左滑,每滑一格暴力扫一遍.然后再从头往右滑,我这里wa了三发,wa了后习惯性瞎改,改到后来循环 ...
- Uva 1588 Kickdown
这道题思路并不难想,在做题过程中主要遇到的困难有: 因为没有仔细的考虑边界情况,没有分析全面,导致因=没有取到而得不出正确结果,浪费的大量时间. 今后在做这类题目时,一定要先进行一个比较全面的分析+模 ...
- UVa 1588 换抵挡装置
前言 题目 大意是说,两个槽能够插在一起,并保证每一列的高度不高于3,保证最短长度. 思路 思路很简单,取短字符串遍历长字符串的每一个位置,纪录下位置,并取最短即可. 实现 //习题3-11 换抵挡装 ...
- 【习题 3-11 UVA - 1588】Kickdown
[链接] 我是链接,点我呀:) [题意] 在这里输入题意 [题解] 模拟一下就好 一位一位地往右移动. [代码] #include <bits/stdc++.h> using namesp ...
- Kickdown UVA - 1588
A research laboratory of a world-leading automobile company has received an order to create a specia ...
- uva 1354 Mobile Computing ——yhx
aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAABGcAAANuCAYAAAC7f2QuAAAgAElEQVR4nOy9XUhjWbo3vu72RRgkF5
- UVA 10564 Paths through the Hourglass[DP 打印]
UVA - 10564 Paths through the Hourglass 题意: 要求从第一层走到最下面一层,只能往左下或右下走 问有多少条路径之和刚好等于S? 如果有的话,输出字典序最小的路径 ...
- UVA 11404 Palindromic Subsequence[DP LCS 打印]
UVA - 11404 Palindromic Subsequence 题意:一个字符串,删去0个或多个字符,输出字典序最小且最长的回文字符串 不要求路径区间DP都可以做 然而要字典序最小 倒过来求L ...
- UVA&&POJ离散概率与数学期望入门练习[4]
POJ3869 Headshot 题意:给出左轮手枪的子弹序列,打了一枪没子弹,要使下一枪也没子弹概率最大应该rotate还是shoot 条件概率,|00|/(|00|+|01|)和|0|/n谁大的问 ...
- UVA计数方法练习[3]
UVA - 11538 Chess Queen 题意:n*m放置两个互相攻击的后的方案数 分开讨论行 列 两条对角线 一个求和式 可以化简后计算 // // main.cpp // uva11538 ...
随机推荐
- Sea.js 手册与文档
Sea.js 手册与文档 首页 | 索引 目录 何为 CommonJS 何为 CommonJS 模块 为何封装模块 何为 CommonJS? CommonJS 是一个有志于构建 JavaScript ...
- Mysql百万数据量级数据快速导入Redis
前言 随着系统的运行,数据量变得越来越大,单纯的将数据存储在mysql中,已然不能满足查询要求了,此时我们引入Redis作为查询的缓存层,将业务中的热数据保存到Redis,扩展传统关系型数据库的服务能 ...
- 十二、sed文本处理
一.概述 1.sed 是一款流编辑工具,用来对文本进行过滤与替换工作,特别是当你想要对几十个配置文件做统计修改时,你会感受到 sed 的魅力!sed 通过输入读取文件内容,但一次仅读取一行内容进行某些 ...
- 15、WAN
WAN wide area network 覆盖较大地理范围的数据通信网络使用网络提供商和电信公司所提供的传输设施传输数据 通过不同WAN协议,将LAN延伸到远程站点的其他LAN广域网接入处于OSI七 ...
- python学习--quote()函数
屏蔽特殊的字符.比如如果url里面的空格!url里面是不允许出现空格的. 在 Python2.x 中的用法是:urllib.quote(text)Python3.x 中是urllib.parse.qu ...
- POJ_1363_模拟
题目描述: 列车出入站是一种栈的机制,每组数据给予一个n,进站按1-n顺序,给定一组出站顺序,判断能否实现. 思路: 直接用了queue,in记录当前准备入站的列车编号,out记录已经出站的辆数+1. ...
- CCF_ 201509-3_模板生成系统
又是一道考验细心和耐心的题,不知道哪里出问题了,一直只有90分 = =! #include<cstdio> #include<iostream> #include<cst ...
- 题解【[AHOI2013]作业】
\[ \texttt{Preface} \] 数据貌似很水,据说 \(A_i\leq n\) ,连离散化都不需要. 不知道为啥设块大小为 \(\frac{n}{\sqrt m}\) 会一直 Runti ...
- Centos 7 主要命令改动 service chkconfig iptables
1.service.chkconfig => systemctl seivice和chkconfig 是linux上的常用命令在centos7上被systemctl代替. CentOS 7 使用 ...
- [Python]判断变量类型是否为List列表
用法:isinstance(变量,list) li = [1,2,3] print(type(li)) if isinstance(li,list): print("This is a Li ...