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 ...
随机推荐
- 温故知新,.NET 重定向深度分析
在早期的.NET Framework程序员心里,重定向Redirect其实分为两种: Response.Redirect: Response对象的Redirect方法提供了一种实现客户端重定向的方法 ...
- tmobst4an
(单选题)HTML代码: <table> <tr><td>Value 1</td><td></td></tr> &l ...
- QT笔记:数据库总结
http://blog.csdn.net/reborntercel/article/details/6991147 #include <QtSql> QT += sql QSqlDatab ...
- 视觉slam十四讲ch5 joinMap.cpp 代码注释(笔记版)
#include <iostream> #include <fstream> using namespace std; #include <opencv2/core/co ...
- HDU_1166_树状数组
http://acm.hdu.edu.cn/showproblem.php?pid=1166 树状数组入门题. #include<iostream> #include<cstring ...
- ARTS Week 14
Jan 27, 2020 ~ Feb 2, 2020 Algorithm Problem 160.Intersection of Two Linked Lists(相交链表) 题目链接 题目描述:给定 ...
- php curl 相关知识
整理了下curl $ch = curl_init(); # 设定url和把结果返回,是否返回头部 curl_setopt($ch, CURLOPT_URL, 'http://www.baidu. ...
- 《自拍教程13》Windows的常用命令
这些是Windows系统自带的常用DOS命令集合, 先大概了解下,当然如果能熟练掌握那最好了. 后续思维篇,思维篇还会结合不通的测试场景, 届时将列出这些命令更详细的使用描述. table.dataf ...
- Centos7 LVM扩容实例
Centos7 lvm 扩容与以往版本有所不同 1.插入硬盘,我是在虚拟机上做的测试 直接添加一块5G的硬盘 2.系统读取硬盘信息 # echo "- - -" ...
- [Redis-CentOS7]Redis设置连接密码(九)
设置Redis密码 修改/etc/redis.conf 一定要强密码redis为内存存储 抗暴力破解强 requirepass password 重启服务 systemctl restart redi ...