#include<stdio.h> int isUpTriangle(int myArray[][10],int n)//判断行标大于列标的所有元素是不是都是0,矩阵必须输入列 { int i,j; for(i=0;i<n;i++) { //每一行中行标大于列标的所有元素进行判断 for(j=0;j<n;j++) { if(i>j) { if(myArray[i][j]!=0) { return 0; } } } } return 1; } int main() { int T;//矩阵的个数 int n;//几行几列 int i,myArray[10][10],j,k; scanf("%d",&T); for(i=0;i<T;i++) { //输入矩阵行列数字 scanf("%d",&n); //输入矩阵 for(j=0;j<n;j++) { for(k=0;k<n;k++) { scanf("%d",&myArray[j][k]); } } //判断是不是上三角 if(isUpTriangle(myArray,n)==1) { printf("YES\n"); } else { printf("NO\n"); } } return 0; }