习题3-11 UVa1588 Kickdown

原创 2015年11月20日 19:49:55

要点:
1.有三种可能:全在底板上,部分在底板上以及一点都不能在底板上,所以输入的字符串的长度有关系,同一组颠倒顺序结果不一样,因此都用i所在的数组去找j所在的数组,i所处的数组长度不同结果不同,去结果中最小的那个

#include<stdio.h>
#include<string.h>
int main()
{
    char a[110], b[110];
    int i, j, m, n,t;
    while (scanf("%s%s", a, b) != EOF)
    {
        m = strlen(a);
        n = strlen(b);
        i = j = t = 0;
        while (j < m&&i < n)  //用while简单,for相当费劲
        {
            if (a[j] + b[i] - 96 <= 3)
                i++, j++;  //也可以用,在一个句子里使用多个运算
            else
                t++, i = 0, j = t;  //如果大于3,i先归零从头开始,用t记录小于等于3的时候前j的位置
        }
        int count1 = m + n - i; //直接减去i即可
        i = j = t = 0;
        while (i < m&&j< n)  //都是用i所在数组去找但数组顺序会变
        {
            if (a[i] + b[j] - 96 <= 3)
                i++, j++;  
            else
                t++, i = 0, j = t;  
        }
        int count2 = m + n - i; 
        printf("%d\n", count1 < count2 ? count1 : count2);
    }
    return 0;
}
版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

《算法竞赛入门经典2ndEdition 》习题3-11 换低挡装置(Kickdown, Uva1588)

这题我想的时候画了幅图帮助理解。 最初,将min初始化为m与d的长度之和。 思想就是最开始把m的首位跟d的最后一位对齐,若此时能够合适的匹配,就算出此时所需长度,并与当前的min取最小,更新m...

算法竞赛入门经典(第2版)习题3-11 换低挡装置 Kickdown UVa1588

逻辑很简单 1.读入n1/n2,测量各自长度 2.
  • archya
  • archya
  • 2014-07-14 10:28
  • 1030

习题3-11 换抵挡装置 UVa1588

算法竞赛入门经典(第2版)第3章 数组和字符串 习题3-11 换抵挡装置 UVa1588 感悟。 1、上网站下载英文原题,仔细阅读。 2、持续的移动咬合想不清时,可以考虑分段的移动咬合...

UVA1588Kickdown

A research laboratory of a world-leading automobile company has received an order to create a specia...

UVA1588 UVALive3712 POJ3158 Kickdown

Regionals 2006 >> Europe - Northeastern 问题链接:UVA1588 UVALive3712 POJ3158 Kickdown。基础训练级的问题,用C语言编写程...

UVA - 1588 Kickdown

A research laboratory of a world-leading automobile company has received an order to create a specia...

Uva - 1588 - Kickdown

A research laboratory of a world-leading automobile company has received an order to create a specia...

UVA 1588 - Kickdown

1588 - Kickdown Time limit: 3.000 seconds 题目链接:https://uva.onlinejudge.org/index.php?option=com_on...

UVa 1588 Kickdown (换低档装置)

题意: 给两个长条,长条上一列一列顺序排列,且每列高度只为1或2,将这两个长条‘嵌套“,每列总高度不得超过3,问最终形成的新长条最短有多长? 思路: 可以将一个长条s1看成固定,另外一个s2依次...

[uva1588]Kickdown

注意事项1.一定要注意分析的方法,不要陷入列举有什么符合,而尽量先考虑什么不行,排除就好。 2.三个错误点 1.上下不一定是上长下短。 2.可以在板子里面也可以有一部分到外面 ...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)