编程初学者入门训练-上三角矩阵判定

题目描述

KiKi想知道一个n阶方矩是否为上三角矩阵,请帮他编程判定。上三角矩阵即主对角线以下的元素都为0的矩阵,主对角线为从矩阵的左上角至右下角的连线。

输入描述

第一行包含一个整数n,表示一个方阵包含n行n列,用空格分隔。 (1≤n≤10)
从2到n+1行,每行输入n个整数(范围-231~231-1),用空格分隔,共输入n*n个数。

输出描述

一行,如果输入方阵是上三角矩阵输出"YES"并换行,否则输出"NO"并换行。

示例1

输入

3
1 2 3
0 4 5
0 0 6

输出

YES

代码实现

import java.util.Scanner;
import java.io.IOException;

public class Main{
    public static void main(String[] args) throws IOException{
        boolean judge = true;
        Scanner in = new Scanner(System.in);
        int n = in.nextInt();
        int[][] arr = new int[n][n];
        //读入n*n方阵
        for(int i=0;i<n;i++){
            for(int j=0;j<n;j++){
                arr[i][j] = in.nextInt();
            }
        }
        //判断方阵是否为上三角矩阵
        for(int i=0;i<n;i++){
            for(int j=0;j<n;j++){
                if(i>j){
                    if(arr[i][j]!=0){
                        judge = false;
                    }
                }
            }
        }
        //判断输出结果
        if(judge){
            System.out.println("YES");
        }else{
            System.out.println("NO");
        }
    }
}

你可能感兴趣的:(编程初学者入门训练-上三角矩阵判定)