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

(字符串的形式模式匹配4.7.9)POJ 1782 Run Length Encoding(具有重复字符的字符串的处理方式)

2013-10-29 
(字符串的模式模式匹配4.7.9)POJ 1782 Run Length Encoding(具有重复字符的字符串的处理方式)/* * POJ_178

(字符串的模式模式匹配4.7.9)POJ 1782 Run Length Encoding(具有重复字符的字符串的处理方式)

/* * POJ_1782.cpp * *  Created on: 2013年10月28日 *      Author: Administrator */#include <iostream>#include <cstdio>#include <cstring>using namespace std;const int maxn = 1120;int main(){char s[maxn];char tmp[maxn];while(gets(s)){//这里不要使用scanf("%s",&s)否则会出错int len = strlen(s);int i;for(i = 0 ; i < len ; ++i){if(i + 1 < len && s[i] == s[i+1]){//输出有重复字符的子串int j = 0;tmp[j] = s[i];j++;i++;while(j < 9 && i < len && s[i] == s[i-1]){tmp[j] = s[i];j++;i++;}printf("%d%c",j,tmp[0]);--i;}else{//输出没有重复字符的子串printf("1");while(i < len){if(i + 1 < len &&s[i] == s[i+1]){break;}printf("%c",s[i]);if(s[i] == '1'){//如果是1,就将他们变成11printf("%c",s[i]);}i++;}--i;printf("1");}}printf("\n");}return 0;}

热点排行