zoukankan      html  css  js  c++  java
  • HDU——1020Encoding(水题,string过)

    Encoding

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


    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

    前两次做了没感觉,都WA了0.0

    第三遍突然有feel了。

    代码:

    #include<iostream>
    #include<string>
    #include<map>
    #include<vector>
    using namespace std;
    int main(void)
    {
        int n;
        cin>>n;
        while (n--)
        {
            string str;
            cin>>str;
            int i,j,len=str.size(),sum=1;
            for (i=0; i<len; i++)
            {
                if(str[i]==str[i+1])
                {
                    sum++;
                }
                else 
                {
                    if(sum==1)
                        cout<<str[i];
                    else
                        cout<<sum<<str[i];
                    sum=1;
                }            
            }
            cout<<endl;        
        }
        return 0;
    }
  • 相关阅读:
    Alpha版使用说明
    团队绩效评估计划
    丹佛机场行李处理系统分析
    第一个Spring冲刺周期团队进展报告
    用户体验
    总结
    Beta版
    Alpha版使用说明书
    5-26课堂作业——组员投票Alpha版存在的问题
    冲刺周期二--站立会议07
  • 原文地址:https://www.cnblogs.com/Blackops/p/5356446.html
Copyright © 2011-2022 走看看