PAT Advanced 1031 Hello World for U (20 分)

PAT Advanced 1031 Hello World for U (20 分)
强烈推介IDEA2021.1.3破解激活,IntelliJ IDEA 注册码,2021.1.3IDEA 激活码  

大家好,我是架构君,一个会写代码吟诗的架构师。今天说一说PAT Advanced 1031 Hello World for U (20 分),希望能够帮助大家进步!!!

Given any string of N (≥) 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 n1​​ characters, then left to right along the bottom line with n2​​ characters, and finally bottom-up along the vertical line with n3​​ characters. And more, we would like U to be as squared as possible -- that is, it must be satisfied that n1​​=n3​​=max { k | kn2​​ for all 3 } with n1​​+n2​​+n3​​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



#include <iostream>
using namespace std;
int main()
{
    /**读题
    n1,n2,n3
    n1=n3=height
    n2=width
    height=max(k|k<=width,3<=width<=N)
    2*height+width-2=N
    尽可能方形
    */
    string s;
    cin>>s;
    int N=s.length(),width,height,left=0,right=N-1;
    for(int i=1;;i++){
        if(3*i-2>N){
            height=i-1;
            width=N+2-2*height;
            break;
        }
    }
    for(int j=0;j<height;j++){
        if(j!=height-1){
            cout<<s[left];
            for(int i=0;i<width-2;i++) cout<<" ";
            cout<<s[right]<<endl;
            left++;right--;
        }else{
            for(int i=left;i<=right;i++){
                cout<<s[i];
            }
        }
    }
    system("pause");
    return 0;
}

 

转载于:https://www.cnblogs.com/littlepage/p/11292599.html

本文来源weixin_30595035,由架构君转载发布,观点不代表Java架构师必看的立场,转载请标明来源出处:https://javajgs.com/archives/29544

发表评论