UVA 445 Marvelous Mazes
题意:输入一段字符串,输出时有如下要求。当a[i]=’!’ 则输出 换行(\n)。若为数字,如s[i]=2 s[i+1]=’T’,则输出TT。若为连续数字则将数字累加,如 s[i]=1,s[i+1]=2,s[i+2]=T.则输出 TTT。若数字后接的s[i+1]=’b’ ,则输出多个空格(‘ ’)。
Sample Input:
<1T1b5T!1T2b1T1b2T!1T1b1T2b2T!1T3b1T1b1T!3T3b1T!1T3b1T1b1T!5T1*1T
11X21b1X
4X1b1X
Sample Output:
//UVA 445
//Marvelous Mazes
//by Yanx
#include<cstdio>
#include<iostream>
using namespace std;
int main()
{
char a[10010];
while(gets(a)!='\0')
{
int%2 class="hljs-number">0;
for(int i=0;a[i];i++)
{
if(a[i]>='0'&&a[i]<='9') sum+=(a[i]-'0');
else if(a[i]=='b')
{
for(int k=0;k<sum;k++) putchar(' ');sum=0;
}
else if(a[i]=='!') printf("\n");
else
{
for( k=0;k<sum;k++)
printf("%c",a[i]);
sum=0;
}
}
putchar('\n');
}
}