UVA1588(Kickdown)。
只需要固定长串,拿着短串移动就好了。
我是从右往左移动,需要注意的是要判断两头重叠部分(左端重叠和右端重叠)的大小关系。
#include <iostream>
#include <cstdio>
#include <algorithm>
#include <cstdlib>
#include <cstring> using namespace std; int main()
{
char s1[];
char s2[];
char s3[];
int i,j;
while(scanf("%s",s1)!=EOF)
{
scanf("%s",s2);
int len1=strlen(s1);
int len2=strlen(s2);
for(i=len1; i<len1+len2; i++)
{
s1[i]='';
}
s1[i]='\0';
for(i=len2; i<len1+len2; i++)
s2[i]='';
s2[i]='\0';
if(len1<len2)
{
strcpy(s3,s1);
strcpy(s1,s2);
strcpy(s2,s3);
int x=len1;
len1=len2;
len2=x;
}
// puts(s1);
// puts(s2);
int t=;
int r=;
for(i=; i<=len1; i++)
{ for(j=len1-i; j<len1+len2-i; j++)
{
if((s1[j]-'')+(s2[j-len1+i]-'')>)
break;
}
if(j==len1+len2-i)
t=i; //printf("%d\n",t);
} for(i=; i<len2; i++)
{
for(j=; j<len2-i; j++)
{
if(s1[j]-''+s2[j+i]-''>)
break;
}
if(j==len2-i)
{r=i;
break;}
}
// printf("r=%d\n",r);
//int Max=max(r,t);
if(t==&&r==)
printf("%d\n",len1+len2);
else if(t==&&r!=)
printf("%d\n",len1+r);
else if(r==&&t!=)
{
if(t>len2)
t=len2;
printf("%d\n",len1+len2-t);
}
else
{
if(t>len2)
t=len2;
if(t>len2-r)
printf("%d\n",len1+len2-t);
else
printf("%d\n",len1+r);} }
return ;
}
UVA1588(Kickdown)。的更多相关文章
- 设有一数据库,包括四个表:学生表(Student)、课程表(Course)、成绩表(Score)以及教师信息表(Teacher)。
一. 设有一数据库,包括四个表:学生表(Student).课程表(Course).成绩表(Score)以及教师信息表(Teacher).四个表的结构分别如表1-1的表(一)~表( ...
- spring 笔记1: mvn 中Controller方法的参数不能是嵌套类(内部类)。
最近做spring开发,个人认为,Controller和客户端js通讯时传递的参数类 只使用某几个方法,为了减少对其他功能的影响,想把参数类定义为Controller类的 嵌套类(内部类).但是实践发 ...
- 安卓Json介绍(转)。
1.JSON(JavaScript Object Notation) 定义: 一种轻量级的数据交换格式,具有良好的可读和便于快速编写的特性.业内主流技术为其提供了完整的解决方案(有点类似于正则表达式, ...
- 2014-11-9------- 设有一数据库,包括四个表:学生表(Student)、课程表(Course)、成绩表(Score)以及教师信息表(Teacher)。
一. 设有一数据库,包括四个表:学生表(Student).课程表(Course).成绩表(Score)以及教师信息表(Teacher).四个表的结构分别如表1-1的表(一)~表( ...
- 关于XML(一)。
关于XML 什么是XML? XML是可扩展标记语言.类似于HTML,XML的宗旨是旨在传输数据,而非显示数据.其标签没有预定义,您需要自行定义标签.XML具有自我描述性,是W3C的推荐标准. XML与 ...
- 【转】简单了介绍js中的一些概念(词法结构) 和 数据类型(部分)。
1 , javascript字符集: javascript采用的是Unicode字符集编码. 为什么要采用这个编码呢? 原因很简单,16位的Unicode编码可以表示地球人的任何书面语言.这是语言 国 ...
- python中剔除字典重复项,可以使用集合(set)。
使用集合(set)剔除字典中的重复项(value). 1)具体例子: #甲乙丙丁使用的编程语言programming_languages = { '甲':'java', '乙':'python', ' ...
- 磁盘是随机存储设备,但不是随机存储器(RAM)。为什么?
磁盘是随机存储设备,但不是随机存储器(RAM).为什么?
- C语言中存储类别又分为四类:自动(auto)、静态(static)、寄存器的(register)和外部的(extern)。
除法运算中注意: 如果相除的两个数都是整数的话,则结果也为整数,小数部分省略,如8/3 = 2:而两数中有一个为小数,结果则为小数,如:9.0/2 = 4.500000. 取余运算中注意: 该运算只适 ...
随机推荐
- 【开源java游戏框架libgdx专题】-08-中文显示与绘制
libgdx虽然是由美国人Mario Zechner(即BadlogicGames)写的开源引擎,由于Libgdx底层是用OpenGL实现的,所以Libgdx是可以支持中文的,在libgdx中的汉字都 ...
- INSTALL_PARSE_FAILED_MANIFEST_MALFORMED 错误
在eclipse编译好文件之后,往AVD中安装apk,报错如下:INSTALL_PARSE_FAILED_MANIFEST_MALFORMED一般来说只需要检查AndroidManifest.xml中 ...
- css样式之背景图片
1.css样式背景之使用图片来做为背景 example: <!DOCTYPE html> <html> <head> <meta http-equiv=&qu ...
- Mysql 列转行group_concat函数,与行转列
1.正常情况. SELECT JoinEventIds from nt_mainnum 2.使用group_concat函数 select group_concat(JoinEventIds) fro ...
- Android开发手记(24) Log的使用及颜色的更改
在程序开发过程中,LOG是广泛使用的用来记录程序执行过程的机制,它既可以用于程序调试,也可以用于产品运营中的事件记录.在Android系统中,提供了简单.便利的LOG机制,开发人员可以方便地使用.本文 ...
- show_space.sql.txt
create or replace procedure SHOW_SPACE(P_SEGNAME IN VARCHAR2, P_OWNER IN VARCHAR2 DEFAULT USER ...
- 二套小清新(APP界面)
- C++11中int,float,double与string的转化
在C++11中可以使用std::to_string()函数将数值转换为string格式,十分方便. 以下部分来选自cplusplus.com. std::to_string string to_str ...
- nginx 伪静态大于10个参数 $10
伪静态大于10个参数 会解析成 $1 与 0 参考:http://zhidao.baidu.com/link?url=kT2tp8ARhIZsrt4XF3LdzjkEq0QTIbvhOj9Ck ...
- php 面向对象编程实例 __construct 和 __destruct 区别
大多数类都有一种称为构造函数的特殊方法.当创建一个对象时,它将自动调用构造函数,也就是使用new这个关键字来实例化对象的时候自动调用构造方 法.构 造函数的声明与其它操作的声明一样,只是其名称必须是_ ...