Encoding

Time Limit: 2000/1000ms (Java/Others)

Problem Description:

给定一个只包含'A' - 'Z'的字符串,我们可以使用以下方法对其进行编码:

1.每个包含k个相同字符的子字符串应编码为“kX”,其中“X”是该子字符串中唯一的字符。

2.如果子串的长度为1,则应忽略“1”。

Input:

第一行包含一个整数N(1 <= N <= 100),表示测试用例的数量。 接下来的N行包含N个字符串。 每个字符串只包含'A' - 'Z',长度小于10000。

Output:

对于每个测试用例,输出一行中的编码字符串。

Sample Input:

2
ABC
ABBCCC

Sample Output:

ABC
A2B3C
解题思路:字符串处理,统计一个字符串中相同字母的个数,有相同字母的,数字在前,字母在后,这里边计算边输出,比较方便。
AC代码:
 #include <bits/stdc++.h>
using namespace std;
int main()
{
int n,len,num;
char a[];
cin>>n;
while(n--){
cin>>a;
len=strlen(a);
for(int i=;i<len;i++){
num=;//标记当前字符起始个数为1
for(int j=i+;j<len;++j){
if(a[i]==a[j])num++;
else break;
}//边计算边输出
if(num>){cout<<num<<a[i];i+=num-;}
else cout<<a[i];
}
cout<<endl;
}
return ;
}
 

ACM_Encoding的更多相关文章

随机推荐

  1. O2O助汪峰成功逆袭,汪峰最终上头条了

    8月2日七夕情人节,汪峰<峰暴来临>演唱会在鸟巢10万人体育场唱响,各大报纸.站点娱乐板块并没有等来汪峰向国际章求婚的"头条",只是,与乐视合作现场演出+付费直播的O2 ...

  2. Android +NDK+eclipse+opengl ES2.0 开启深度測试

    參考:https://www.opengl.org/discussion_boards/showthread.php/172736-OpenGL-ES-Depth-Buffer-Problem 环境: ...

  3. UTF-8 GBK UTF8 GB2312之间的区别和关系

    UTF-8 GBK UTF8 GB2312之间的区别和关系     UTF-8:Unicode TransformationFormat-8bit,允许含BOM,但通常不含BOM.是用以解决国际上字符 ...

  4. Pierce振荡器设计

    一.Pierce振荡器电路 Inv:内部反相器,作用等同于放大器: Q:石英晶体或陶瓷晶振: RF:内部反馈电阻(使反相器工作在线性区): RExt:外部限流电阻(防止石英晶体被过分驱动): CL1. ...

  5. EJB学习笔记六(EJB中的拦截器)

     1.前言 听到拦截器,预计都不陌生,尤其是在Servlet规范中,充分应用了拦截器的概念.EJB3也提供了拦截器的支持,本质上是轻量级的AOP实现.拦截器能够将多个业务方法中的通用逻辑从业务方法中抽 ...

  6. Java基础学习之final和多态及类型转换

    finalkeyword: finalkeyword是终于的意思,能够修饰类,成员变量,成员方法. •    修饰类,类不能被继承 •    修饰变量,变量就变成了常量,仅仅能被赋值一次. •    ...

  7. eclispe pydev tab改回 空格找到方法了,这个链接:http://stackoverflow.com/questions/23570925/eclipse-indents-new-line-with-tabs-instead-of-spaces

    看这个链接: 3down votefavorite 1 I've followed all the suggestions here. When I press return, I get a new ...

  8. YTU 2980: 几点了

    2980: 几点了 时间限制: 1 Sec  内存限制: 128 MB 提交: 37  解决: 9 题目描述 现有一个Time类可以用来记录时间,请输出Time记录的时间加上s秒后的时间. 只需提交补 ...

  9. 【SCOI 2005】 最大子矩阵

    [题目链接] 点击打开链接 [算法] 动态规划 我们发现,M只有两种取值,1和2,那么,只需分类讨论即可 当M = 1时,其实这个问题就成了就最大连续子段和的问题,只不过要选K段而已 用f[i][j] ...

  10. 【转】js中15个常用的正则表达式+正则集合

    1 用户名正则 //用户名正则,4到16位(字母,数字,下划线,减号) var uPattern = /^[a-zA-Z0-9_-]{4,16}$/; //输出 true console.log(uP ...