2010年6月18日 星期五

Problem 445 Marvelous Mazes,畫迷宮

題目有幾項規則,出現一連串的數字的總和,決定一連串數字後出現的字元要印出幾次。
如果字元為 A-Z,則直接印出。
如果字元為 b,則印出空白。
但如果遇到 '!' 或 '\n' ( 換行字元 ),都要換行。

最後, C語言程式碼如下:
while (gets(str))
{
for (i = 0, count = 0; (ch = str[i]); i ++)
{
if (isdigit(ch))
count += ch - '0';
if (isupper(ch) || ch == '*' | ch == 'b')
{
if (ch != 'b')
{
while(count)
printf("%c", ch), count --;
}
else
{
while(count)
printf(" "), count --;
}
}
if (ch == '!') printf("\n");
}
printf("\n");
}

By David.K

p445題目連結
回ACM題庫目錄
回首頁

沒有留言: