zoukankan      html  css  js  c++  java
  • PAT 1031 Hello World for U

    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<bits/stdc++.h>
    using namespace std;
    typedef long long ll;
    #define maxnum 100005
    
    char ans[85][85];
    
    int main(){
        memset(ans,' ', sizeof(ans));
        string s;
        cin >> s;
        int N = s.size();
        int n1,n2,n3;
        n1 = n3 = (N+2)/3;
        n2 = (N+2)%3 + n1;
        for(int i=0;i < n1;i++){
            ans[i][0] = s[i];
        }
        for(int i=0;i < n2;i++){
            ans[n1-1][i] = s[n1-1+i];
        }
        for(int i=n3-1;i >= 0;i--){
            ans[i][n2-1] = s[n1+n2-2+(n3-1-i)];
        }
    
    
        for(int i=0;i < n1;i++){
            for(int j=0;j < n2;j++){
                cout << ans[i][j];
            }
            if(i != n1)cout << endl;
        }
    
    
        return 0;
    }

    当提交出现全错的情况说明输出格式错了,比如这题,没有memset char数组是不对的,以后所有数组记得要初始化。

     
  • 相关阅读:
    Shared Memory in Windows NT
    Layered Memory Management in Win32
    软件项目管理的75条建议
    Load pdbs when you need it
    Stray pointer 野指针
    About the Rebase and Bind operation in the production of software
    About "Serious Error: No RTTI Data"
    Realizing 4 GB of Address Space[MSDN]
    [bbk4397] 第1集 第一章 AMS介绍
    [bbk3204] 第67集 Chapter 17Monitoring and Detecting Lock Contention(00)
  • 原文地址:https://www.cnblogs.com/cunyusup/p/10698141.html
Copyright © 2011-2022 走看看