• Encoding-201308072147.txt


    Encoding
    Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)
    Total Submission(s): 21532    Accepted Submission(s): 9384


    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
     


    #include <stdio.h>
    #include <string.h>
    int main()
    {
      int n;
      scanf("%d",&n);
      while(n--) 
    {
     int k,i,j,l;
     char a[11000];
     scanf("%s",a);
     l=strlen(a);
     for(i=0,k=0;i<l;i+=k)
     {
      for(j=i,k=1;j<l;j++)
     {
      if(a[j]==a[j+1])
         {k+=1;}
        if(a[j]!=a[j+1])
        {break;}
     }
        if(k==1)
        {printf("%c",a[j]);}
        if(k!=1)
        {printf("%d%c",k,a[j]);}
         //printf(" ");
     }
     printf(" ");
    }
    return 0;
    }

  • 相关阅读:
    java大数取余
    hdu--5351--MZL's Border
    NYOJ--水池数目
    NYOJ--32--SEARCH--组合数
    NYOJ--20--搜索(dfs)--吝啬的国度
    hdu--4148--Length of S(n)
    hdu--2098--分拆素数和
    hdu--1873--看病要排队
    hdu--1870--愚人节的礼物
    hdu--1237--简单计算器
  • 原文地址:https://www.cnblogs.com/xiaziteng/p/zimu.html
Copyright © 2020-2023  润新知