例如给定17个“*”,要求按下列格式打印
1 | ***** |
所谓“沙漏形状”,是指每⾏输出奇数个符号;各⾏符号中⼼对⻬; 相邻两⾏符号数差2;符号数先从⼤到⼩顺序递减到1,再从⼩到⼤顺序递增;⾸尾符号数相等。
给定任意N个符号,不⼀定能正好组成⼀个沙漏。要求打印出的沙漏能⽤掉尽可能多的符号。
输⼊格式:
输⼊在⼀⾏给出1个正整数N(<=1000)和⼀个符号,中间以空格分隔。
输出格式:
⾸先打印出由给定符号组成的最⼤的沙漏形状,最后在⼀⾏中输出 剩下没⽤掉的符号数。
输⼊样例:
1 | 19 * |
输出样例:
1 | ***** |
分析:n保存E后⾯的字符串所对应的数字,t保存E前⾯的字符串,不包括符号位。当n<0时表示向前移 动,那么先输出0. 然后输出abs(n)-1个0,然后继续输出t中的所有数字;当n>0时候表示向后移动,那 么先输出第⼀个字符,然后将t中尽可能输出n个字符,如果t已经输出到最后⼀个字符(j == t.length())那 么就在后⾯补n-cnt个0,否则就补充⼀个⼩数点. 然后继续输出t剩余的没有输出的字符~
1 |
|
本系列(PAT算法)作者mail:1302304703@qq.com(非本人)