#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; }