zoukankan      html  css  js  c++  java
  • 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)
     1 #include<iostream>
     2 #include<cstdio>
     3 #include<cmath>
     4 #include<cstring>
     5 using namespace std;
     6 char a[10001];
     7 int tot=1;
     8 int main()
     9 {
    10     gets(a);
    11     int l=strlen(a);
    12     for(int i=0;i<l;i++)
    13     {
    14         if(a[i]>=97&&a[i]<=122)
    15         {
    16             a[i]=a[i]-32;
    17         }
    18     }
    19     for(int i=0;i<l;i++)
    20     {
    21         if(a[i]==a[i+1])
    22         {
    23             tot++;
    24         }
    25         else
    26         {
    27             printf("(%c,%d)",a[i],tot);
    28             tot=1;    
    29         }
    30     }
    31     return 0;
    32 }
  • 相关阅读:
    TC79
    SQL TUNNING
    Oracle PLSQL
    DB String Split sample
    dw websites
    Load xlsx in a folder to RDBMS table with Talend
    Reading WebSites
    SQOOP Load Data from Oracle to Hive Table
    dotnet use regex two samples
    Excel scientific notation issue
  • 原文地址:https://www.cnblogs.com/zwfymqz/p/6509762.html
Copyright © 2011-2022 走看看