/* * 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,就将他们变成11 printf("%c",s[i]); } i++; } --i; printf("1"); } } printf("\n"); } return 0; }