题解 | #上三角矩阵判定#
上三角矩阵判定
http://www.nowcoder.com/practice/f5a29bacfc514e5a935723857e1245e4
三层嵌套for循环,定义x和y,初始化都为0,逐个检测对角线的每列元素以下的元素是否都为0,如果有不为0,就将该元素的坐标赋值给x和y,最后检测x和y是否至少有一个不为0,是的话就no,不是的话就yes。
#include using namespace std;
int main() { int n; cin>>n; int a[n][n]; for(int i=0;i<n;i++) { for(int j=0;j<n;j++) { cin>>a[i][j]; } } int x=0,y=0; for(int i=0;i<n;i++) { for(int j=i;j==i;j++) { for(int k=j+1;k<n;k++) { if(a[k][j]!=0) { x=k; y=j; } } } } if(x!=0||y!=0) { cout<<"NO"<<endl; }else { cout<<"YES"<<endl; } return 0; }