zoukankan      html  css  js  c++  java
  • A1031 Hello World for U[图形输出]

    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 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| k <= n2 for all 3 <= n2 <= N } 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
    

    —————————————————————————
    在这里插入图片描述

    1. 由题意得,两侧边要尽可能大但是要小于底边,然后或几张图找规律可以得出。
    2. 可以直接打印图形也可以赋一个二维数组,这里是赋一个二维数组,先全部初始化为空格,然后再赋值侧边底边,最后打印。
    #include<iostream>
    #include<string>
    using namespace std;
    int main()
    {
    	char ans[50][50]; string str;
    	getline(cin, str);
    	int n = str.length();
    	int n1 = (n + 2) / 3, n3 = n1, n2 = n + 2 - n1 - n3;
    	for (int i = 0; i < n1; i++)
    	{
    		for (int j = 0; j < n2; j++)
    		{
    			ans[i][j] = ' ';
    		}
    	}
    	int pos = 0;
    	for (int i = 0; i < n1; i++)
    	{
    		ans[i][0] = str[pos++];
    	}
    	for (int j = 1; j < n2 - 1; j++)
    	{
    		ans[n1 - 1][j] = str[pos++];
    	}
    	for (int i = n3 - 1; i >= 0; i--)
    	{
    		ans[i][n2-1] = str[pos++];
    	}
    	for (int i = 0; i < n1; i++)
    	{
    		for (int j = 0; j < n2; j++)
    		{
    			cout << ans[i][j];
    		}
    		cout << endl;
    	}
    }
    
  • 相关阅读:
    HTML超链接a标签
    ANR与Crash
    学习笔记:oracle学习一:oracle11g体系结构之物理存储结构
    学习笔记:oracle学习一:oracle11g体系结构之服务器结构、数据字典
    关于sql server全文检索的一些资料收集2
    关于sql server全文检索的一些资料收集1
    关于sql server全文检索的一些资料收集2
    做日文编码网页解决乱码的经验。(仇日派别砍我~~)
    如何监视sql server连接池
    做全文检索的小心得
  • 原文地址:https://www.cnblogs.com/Hsiung123/p/13812094.html
Copyright © 2011-2022 走看看