博客
关于我
Kickdown UVA - 1588
阅读量:422 次
发布时间:2019-03-05

本文共 3026 字,大约阅读时间需要 10 分钟。

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 — an operation of switching to lower gear. After several months of research engineers found that the most efficient solution requires special gears with teeth and cavities placed non-uniformly. They calculated the optimal flanks of the gears. Now they want to perform some experiments to prove their findings.

The first phase of the experiment is done with planar toothed sections, not round-shaped gears. A section of length n consists of n units. The unit is either a cavity of height h or a tooth of height 2h. Two sections are required for the experiment: one to emulate master gear (with teeth at the bottom) and one for the driven gear (with teeth at the top).

There is a long stripe of width 3h in the laboratory and its length is enough for cutting two engaged sections together. The sections are irregular but they may still be put together if shifted along each other.

The stripe is made of an expensive alloy, so the engineers want to use as little of it as possible. You need to find the minimal length of the stripe which is enough for cutting both sections simultaneously.

Input

The input file contains several test cases, each of them as described below.

There are two lines in the input, each contains a string to describe a section. The first line describes master section (teeth at the bottom) and the second line describes driven section (teeth at the top). Each character in a string represents one section unit — 1 for a cavity and 2 for a tooth. The sections can not be flipped or rotated.

Each string is non-empty and its length does not exceed 100.

Output

For each test case, write to the output a line containing a single integer number — the minimal length of the stripe required to cut off given sections.

Sample Input

211211211222121121212121221212121221122112221212

Sample Output

10815

HINT

相当于两个滑块,一个不懂一个动,求最小长度。下面的代码可以更简洁一点,就是把重复的地方封装成函数,可以省不少代码量。

Accepted

#include
#include
#include
int main(){ char a[101]; char b[101]; char c[201]; while (scanf("%s%s", a, b) != EOF) { int lena = strlen(a); int lenb = strlen(b); int min = lena+lenb; for (int i = 0;i <= lena; i++) { int flag = 0; memset(c, '\0', sizeof(c)); strcpy(c, a); for (int j = 0;j < lenb;j++) { if (c[j + lena - i] != '\0') { c[j + lena - i] += b[j] - '0'; if (c[j + lena - i] > '3') { flag = 1;break; } } else c[j + lena - i] = b[j]; } if (!flag)min = strlen(c) < min ? strlen(c) : min; } for (int i = 0;i <= lenb;i++) { int flag = 0; memset(c, '\0', sizeof(c)); strcpy(c, b); for (int j = 0;j < lena;j++) { if (c[j + lenb - i] != '\0') { c[j + lenb - i] += a[j] - '0'; if (c[j + lenb - i] > '3') { flag = 1;break; } } else c[j + lenb - i] = a[j]; } if (!flag)min = strlen(c) < min ? strlen(c) : min; } printf("%d\n",min); }}

转载地址:http://jrxzz.baihongyu.com/

你可能感兴趣的文章
Nginx代理websocket配置(解决websocket异常断开连接tcp连接不断问题)
查看>>
Nginx代理初探
查看>>
nginx代理地图服务--离线部署地图服务(地图数据篇.4)
查看>>
Nginx代理外网映射
查看>>
Nginx代理模式下 log-format 获取客户端真实IP
查看>>
Nginx代理解决跨域问题(导致图片只能预览不能下载)
查看>>
Nginx代理访问提示ERR_CONTENT_LENGTH_MISMATCH
查看>>
Nginx代理配置详解
查看>>
Nginx代理静态资源(gis瓦片图片)实现非固定ip的url适配网络环境映射ip下的资源请求解决方案
查看>>
Nginx代理静态资源(gis瓦片图片)实现非固定ip的url适配网络环境映射ip下的资源请求解决方案
查看>>
nginx反向代理
查看>>
Nginx反向代理
查看>>
nginx反向代理、文件批量改名及统计ip访问量等精髓总结
查看>>
Nginx反向代理与正向代理配置
查看>>
Nginx反向代理及负载均衡实现过程部署
查看>>
Nginx反向代理是什么意思?如何配置Nginx反向代理?
查看>>
nginx反向代理解决跨域问题,使本地调试更方便
查看>>
Nginx反向代理配置
查看>>
Nginx启动SSL功能,并进行功能优化,你看这个就足够了
查看>>
nginx启动脚本
查看>>