【第22期】观点:IT 行业加班,到底有没有价值?

习题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;
}
版权声明:本文为博主原创文章,未经博主允许不得转载。 举报

相关文章推荐

算法入门经典第二版 第三章数组和字符串 习题参考答案

原文地址:http://www.2cto.com/kf/201408/322120.html 1 序 系统的整理下第三章的学习笔记。例题代码是在未看书本方法前自己尝试并AC的代码,不一定比书上...

算法导论习题[Exercises 32.1-3 ]

Suppose that pattern P and text T are randomly chosen strings of length m and n, respectively, from the d-ary alphabet <sp
  • isiqi
  • isiqi
  • 2006-09-05 22:45
  • 560

程序员升职加薪指南!还缺一个“证”!

CSDN出品,立即查看!

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

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

算法导论习题8-3—排序不同长度的数据项

题目: a)给定一个整数数组,其中不同的整数中包含的数字个数可能不同,但是该数组中,所有整数中总的数字数为n。说明如何在O(n)时间内对该数组进行排序 b)给定一个字符串数组,其中不同的串包含的字符个数可能不同,但所有串中总的字符个数为n。说明如何在O(n)时间内对该数组进行排序 (注意此处的...

小紫书 3-11 UVA 1588 POJ 3158 Kickdown

额。。。意识到这一章数组与字符串的题都是傻逼暴力题(范围都很小,怎么暴力都能过)后,就不用想太多了。 比如这道题,分两种情况模拟就行。有时间再把具体过程贴一下 代码: #include ...
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

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