zoukankan      html  css  js  c++  java
  • AC日记——行程长度编码 openjudge 1.7 32

    32:行程长度编码

    总时间限制: 
    1000ms
     
    内存限制: 
    65536kB
    描述

    在数据压缩中,一个常用的途径是行程长度压缩。对于一个待压缩的字符串而言,我们可以依次记录每个字符及重复的次数。这种压缩,对于相邻数据重复较多的情况比较有效。 例如,如果待压缩串为"AAABBBBCBB",则压缩的结果是(A,3)(B,4)(C,1)(B,2)。当然,如果相邻字符重复情况较少,则压缩效率就较低。

    现要求根据输入的字符串,得到大小写不敏感压缩后的结果(即所有小写字母均视为相应的大写字母)。

    输入
    一个字符串,长度大于0,且不超过1000,全部由大写或小写字母组成。
    输出
    输出为一行,表示压缩结果,形式为:
    (A,3)(B,4)(C,1)(B,2)
    即每对括号内部分别为字符(都为大写)及重复出现的次数,不含任何空格。
    样例输入
    aAABBbBCCCaaaaa
    样例输出
    (A,3)(B,4)(C,3)(A,5)
    来源
    习题(12-5)

    思路:

      模拟;

    来,上代码:

    #include<cstdio>
    
    using namespace std;
    
    int now=1;
    
    char ch,ch_old;
    
    inline void char_(char &char__)
    {
        if(char__<='z'&&char__>='a') char__-=32;
    }
    
    int main()
    {
        ch_old=getchar();
        char_(ch_old);
        ch=getchar();
        char_(ch);
        while(ch<='Z'&&ch>='A')
        {
            if(ch!=ch_old)
            {
                printf("(%c,%d)",ch_old,now);
                ch_old=ch,now=0;
            }
            now++;
            ch=getchar();
            char_(ch);
        }
        printf("(%c,%d)",ch_old,now);
        return 0;
    }
  • 相关阅读:
    jvm-类加载
    jvm调优
    jdk8与jdk9的共存
    eclipse的插件开发-启动时间
    斐波那契数列算法逐层优化(C++)
    2G.处女座与复读机(C++)
    3I.处女座的约会(C++)
    3D.处女座的训练(C++)
    3E.处女座和小姐姐(C++)
    3C.处女座点名(C++)
  • 原文地址:https://www.cnblogs.com/IUUUUUUUskyyy/p/6119593.html
Copyright © 2011-2022 走看看