1031 Hello World for U (PTA)

Given any string of N (≥5) characters, you are asked to form the characters into the shape of U. For example, helloworld can be printed as:

h  d
e  l
l  r
lowo

      
    

That is, the characters must be printed in the original order, starting top-down from the left vertical line with n​1​​ characters, then left to right along the bottom line with n​2​​ characters, and finally bottom-up along the vertical line with n​3​​ characters. And more, we would like U to be as squared as possible — that is, it must be satisfied that n​1​​=n​3​​=max { k | kn​2​​ for all 3≤n​2​​≤N } with n​1​​+n​2​​+n​3​​−2=N.

Input Specification:

Each input file contains one test case. Each case contains one string with no less than 5 and no more than 80 characters in a line. The string contains no white space.

Output Specification:

For each test case, print the input string in the shape of U as specified in the description.

Sample Input:

helloworld!

      
    

Sample Output:

h   !
e   d
l   l
lowor

编译器:Python(python3)

string = input()
N = len(string)
height = (N+2)//3
width = N-2*height-2
for i in range(height - 1):
    print(string[i] + ' '*(width+2) + string[-i-1])
print(string[height-1:N-height+1])

发表评论

电子邮件地址不会被公开。 必填项已用*标注