zoukankan      html  css  js  c++  java
  • HDU 1020.Encoding-字符压缩

    Encoding

    Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)
    Total Submission(s): 55351    Accepted Submission(s): 24697


    Problem Description
    Given a string containing only 'A' - 'Z', we could encode it using the following method: 

    1. Each sub-string containing k same characters should be encoded to "kX" where "X" is the only character in this sub-string.

    2. If the length of the sub-string is 1, '1' should be ignored.
     
    Input
    The first line contains an integer N (1 <= N <= 100) which indicates the number of test cases. The next N lines contain N strings. Each string consists of only 'A' - 'Z' and the length is less than 10000.
     
    Output
    For each test case, output the encoded string in a line.
     
    Sample Input
    2 ABC ABBCCC
     
    Sample Output
    ABC A2B3C
     
    Author
    ZHANG Zheng
     
     
    代码:
     1 #include<stdio.h>
     2 #include<string.h>
     3 int main(){
     4     char str[10005];
     5     int n,i,cnt;
     6     while(~scanf("%d",&n)){
     7         while(n--){
     8             scanf("%s",&str);
     9             for(i=0;str[i]!='';i++){
    10                 cnt=1;
    11                 while(str[i]==str[i+1]){
    12                       cnt++;i++;
    13                 }
    14                 if(cnt==1) printf("%c",str[i]);
    15                 else printf("%d%c",cnt,str[i]);
    16             }
    17             printf("
    ");
    18         }
    19     }
    20     return 0;
    21 }
  • 相关阅读:
    Problem B. Harvest of Apples
    字典树的学习
    PACM Team
    2038: [2009国家集训队]小Z的袜子(hose)
    Naive Operations
    C程序设计语言练习 第三章
    数据结构C++实现-第一章 绪论
    排序
    操作系统设计与实现-第一章:序言
    进制转换
  • 原文地址:https://www.cnblogs.com/ZERO-/p/9740498.html
Copyright © 2011-2022 走看看