题目描述
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
#include<iostream>
using namespace std;
int main()
{
int n,result=1;
cin>>n;
int num[n][n];
for(int i=0;i<n;++i)
{
for(int j=0;j<n;++j)
{
cin>>num[i][j];
}
}
for(int i=1;i<n;i++) //画一个矩阵图,分析得矩阵的坐标
{
for(int j=0;j<i;j++) //注意:小于i!!!
{
if(num[i][j]!=0)
result=0;
}
}
if(result==1) //可直接写成result
cout<<"YES"<<endl;
else
cout<<"NO"<<endl;
}