题目描述
KiKi想知道一个n阶方矩是否为上三角矩阵,请帮他编程判定。上三角矩阵即主对角线以下的元素都为0的矩阵,主对角线为从矩阵的左上角至右下角的连线。
输入描述:
第一行包含一个整数n,表示一个方阵包含n行n列,用空格分隔。 (2≤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
示例2
输入
4
1 2 3 4
5 6 7 8
9 0 11 12
13 0 0 16
输出
NO
#include<iostream>
using namespace std;
int main()
{
int n;
cin>>n;
int num[n][n];
for(int i=0;i<n;i++)
{
for(int j=0;j<n;j++)
{
cin>>num[i][j];
}
}
//判断
int sum=0;
for(int i=1;i<n;i++)
{
for(int j=0;j<i;j++)
{
if(num[i][j]!=0)
sum++;
}
}
if(sum==0)
cout<<"YES"<<endl;
else
cout<<"NO"<<endl;
}