HDOJ/HDU 1256 画8(绞下思维~水题)

2021-01-21 12:17:20 浏览数 (1)

Problem Description 谁画8画的好,画的快,今后就发的快,学业发达,事业发达,祝大家发,发,发.

Input 输入的第一行为一个整数N,表示后面有N组数据. 每组数据中有一个字符和一个整数,字符表示画笔,整数(>=5)表示高度.

Output 画横线总是一个字符粗,竖线随着总高度每增长6而增加1个字符宽.当总高度从5增加到6时,其竖线宽度从1增长到2.下圈高度不小于上圈高度,但应尽量接近上圈高度,且下圈的内径呈正方形. 每画一个”8”应空一行,但最前和最后都无空行.

Sample Input 2 A 7 B 8

Sample Output

代码语言:javascript复制
  AA
AA  AA
AA  AA
  AA
AA  AA
AA  AA
  AA

  BBB
BB   BB
BB   BB
  BBB
BB   BB
BB   BB
BB   BB
  BBB

水题。。多想想就出来了。

代码语言:javascript复制
import java.util.Scanner;

public class Main{

    public static void main(String[] args) {

        Scanner sc = new Scanner(System.in);
        int t = sc.nextInt();
        int f=0;
        while (t-- > 0) {
            String s = sc.next();
            int n = sc.nextInt();
            if (f!=0) {
                System.out.println();
            }
            int m = (int) n / 6   1;
            // System.out.println(m);//m 2
            int h = n - 3;
            h = h / 2   1;
            int p=h;
            if(n%2!=0){
                h--;
            }
            for (int i = 0; i < n; i  ) {
                if (i == 0 || i == n - 1 || i == p) {
                    for (int k = 0; k < m   h; k  ) {
                        if (k < m) {
                            System.out.print(" ");
                        } else {
                            System.out.print(s);
                        }
                    }
                    System.out.println();
                } else {
                    for (int k = 0; k < 2 * m   h; k  ) {
                        if (k < m || k >= m   h) {
                            System.out.print(s);
                        } else {
                            System.out.print(" ");
                        }
                    }
                    System.out.println();
                }
            }
            f=1;
        }
    }
}

0 人点赞