首页 > 代码库 > 哈尔滨理工大学2016新生赛K题
哈尔滨理工大学2016新生赛K题
小明这个人特别无聊,他喜欢把一个字符串以一个奇怪的姿势压缩起来。他会把连续的字符表示成字符和数字的形式,而且他用的数字还都是一位的!!!比如下面这个例子:"a12" 表示的是 "aaaa"。也就是说压缩后的字符串里的每个数字表示重复最后一个出现的字符数字次,就好像上面的例子。
现在给你一些被无聊的小明压缩过的字符串,你能还原它么?
输入的第一行包括一个整数 T,表示数据的组数。
每组输入包括一行,一个字符串,表示被小明压缩过的字符串。长度不超过50。
每组输出包括一行,一个字符串,表示你展开之后的字符串。
1
a5b6c12
aaaaaabbbbbbbcccc
1 #include <iostream> 2 #include <cstdio> 3 #include <cstring> 4 using namespace std; 5 6 int main() 7 { 8 int t; 9 cin>>t; 10 t++; 11 for(int j=0;j<t;j++){ 12 char c,a[10000],d; 13 int m=0; 14 while((c=getchar())!=‘\n‘){ 15 if(c>=‘0‘&&c<=‘9‘){ 16 for(int i=0;i<(int)(c)-48;i++) 17 a[m++]=d; 18 } 19 else a[m++]=c; 20 if(c>=‘0‘&&c<=‘9‘){} 21 else d=c; 22 } 23 if(j==0)continue; 24 else puts(a); 25 memset(a,0,10000*sizeof(char)); 26 } 27 return 0; 28 }
哈尔滨理工大学2016新生赛K题
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。