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 ...
随机推荐
- VUE报表开发
因为在项目中经常开发一些报表,并且业务.逻辑其实都有大部分的重复部分. 所以将这些常用的模块抽象出来.并且可视化操作.封装成一款报表开发工具. 先看一下项目的一些效果:数据单项绑定 可视化操作: 数据 ...
- StackExchange.Redis 之 hash 类型示例
StackExchange.Redis 的组件封装示例网上有很多,自行百度搜索即可. 这里只演示如何使用Hash类型操作数据: // 在 hash 中存入或修改一个值 并设置order_hashkey ...
- Spring事务中的事务传播行为
1.支持当前事务: TransactionDefinition.PROPAGATION_REQUIRED:如果当前存在事务,则加入该事务:如果当前没有事务,则创建一个新的事务. Transaction ...
- meta的作用
一.先明白几个概念 phys.width: device-width: 一般我们所指的宽度width即为phys.width,而device-width又称为css-width. 其中我们可以获取ph ...
- JAVA体系结构简单介绍
JAVA 体系结构包括四个独立但相关的技术: java程序设计语言 java class 文件格式 JAVA应用编程接口(API) JAVA虚拟机(JVM) 当编写运行一个java程序时,就同时体验了 ...
- 阿里云服务器ECS Ubuntu18.04 建立新用户
昨天花了好长时间终于把界面功能弄好了,今天找时间再折腾一下: 1.建立新的用户: ssh连接上,用以下命令建立新用户,并设置密码: 创建普通用户“myname”成功,接下来为用户“myname”赋予s ...
- 怎么理解Laravel的核心架构
使用过larave框架的朋友都知道laravel框架里面除了提供一些基本的功能(如控制器.视图.模型)之外,还有中间件.门面.契约等,这些东西是如何在laravel框架运用起来的呢?今天就和大家详聊一 ...
- Python3(五) 包、模块、函数与变量作用域
一.Python项目的组织结构 最顶级的组织结构:包(文件夹) 第二个层级:模块(文件) 第三个层级:类 第四个层级:函数.变量(不属于组织结构,是类本身的特性) 二.Python包与模块的名字 1. ...
- pytorch之 bulid_nn_with_2_method
import torch import torch.nn.functional as F # replace following class code with an easy sequential ...
- 卫星轨道相关笔记SGP4
由卫星历书确定卫星轨道状态向量 卫星历书的表示方法有2种: TLE(Two Line Element),和轨道根数表示方法 由卫星历书计算出卫星轨道状态向量的方法有2种: SGP方法,NORAD的方法 ...