首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

ACM习题-java实现

2012-08-30 
ACM练习题--java实现时间限制: 1000ms 内存限制: 32768kB 描述 给定一个只包含A-Z的字符串。按以下规则编码

ACM练习题--java实现
时间限制: 1000ms 内存限制: 32768kB
描述
给定一个只包含A-Z的字符串。按以下规则编码:

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

2.如果子串的长度为1,则1被省略。

输入
输入的第一行是一个整数N(1<=N<=100),表示有N组数据,接下来的N行是N个字符串,字符串只包含'A'-'Z',字符串长度小于10000.
输出
对于每组实例数据,在一行中输出编码后的字符串


package Test;

import java.util.Scanner;
public class BianMa {

public static void main(String args[]){
Scanner sc=new Scanner(System.in);
int N=sc.nextInt()+1;
for(int i=0;i<N;i++){
String s=sc.nextLine();
char b[]=s.toCharArray();
int pos=0;
for(int j=1;j<b.length;j++){
if(b[j]!=b[j-1]){
if(j-pos==1){
System.out.printf("%s",b[j-1]);
}else{
System.out.printf("%d%s",j-pos,b[j-1]);
}
pos=j;
}
if(j==b.length-1){
if(j-pos==0){
System.out.printf("%s",b[j]);
}else{
System.out.printf("%d%s",j-pos+1,b[j]);
System.out.println();
}
System.out.println();

}
}
}
sc.close();
}
}

 

热点排行