L1-054 福到了-java

L1-054 福到了 (15 分)

“福”字倒着贴,寓意“福到”。不论到底算不算民俗,本题且请你编写程序,把各种汉字倒过来输出。这里要处理的每个汉字是由一个 N × N 的网格组成的,网格中的元素或者为字符 @ 或者为空格。而倒过来的汉字所用的字符由裁判指定。
输入格式:

输入在第一行中给出倒过来的汉字所用的字符、以及网格的规模 N (不超过100的正整数),其间以 1 个空格分隔;随后 N 行,每行给出 N 个字符,或者为 @ 或者为空格。
输出格式:

输出倒置的网格,如样例所示。但是,如果这个字正过来倒过去是一样的,就先输出bu yong dao le,然后再用输入指定的字符将其输出。
输入样例 1:

$ 9
@ @@@@@
@@@ @@@
@ @ @
@@@ @@@
@@@ @@@@@
@@@ @ @ @
@@@ @@@@@
@ @ @ @
@ @@@@@

输出样例 1:

$$$KaTeX parse error: Can't use function '$' in math mode at position 3: $̲ $ $ $ $ $ $
$ $ $ $ $ $
$ $
$ $ $
$ $
$$$$$ $

输入样例 2:

& 3
@@@
@
@@@

输出样例 2:

bu yong dao le
&&&
&
&&&

代码实现
:import java.util.Scanner;

public class Main {

public static void main(String[] args) {
	Scanner sc = new Scanner(System.in);
	String s=sc.next();
	int n=sc.nextInt();
	sc.nextLine();
	int[][] img=new int[n][n];
	for(int i=0;i<n;i++) {
		String str=sc.nextLine();
		for(int j=0;j<n;j++) {
			if(str.charAt(j)=='@') {
				img[i][j]=1;
			}
		}
	}
	boolean flag=true;
	for(int i=0;i<n;i++) {
		for(int j=0;j<n;j++) {
				if(img[i][j]!=img[n-i-1][n-j-1]) {
					flag=false;
				}
		}
	}
	if(flag) {
		System.out.println("bu yong dao le");
	}
	for(int i=n-1;i>=0;i--) {
		for(int j=n-1;j>=0;j--) {
				if(img[i][j]==1) {
					System.out.print(s);
				}else {
					System.out.print(" ");
				}
		}
		System.out.println();
	}
	
}

}

猜你喜欢

转载自blog.csdn.net/qq_43115606/article/details/88777570