题目描述: KiKi想知道一个n阶方矩是否为上三角矩阵,请帮他编程判定。上三角矩阵即主对角线以下的元素都为0的矩阵,主对角线为从矩阵的左上角至右下角的连线。

输入描述: 第一行包含一个整数n,表示一个方阵包含n行n列,用空格分隔。 (1≤n≤10)

从2到n+1行,每行输入n个整数(范围-231~231-1),用空格分隔,共输入n*n个数。

输出描述: 一行,如果输入方阵是上三角矩阵输出"YES"并换行,否则输出"NO"并换行。

思路:分为两种途径,一个录入数据,后进行判断;另一个途径是一边输入+一边判断~

/*
//方法一:先将元素进行录入,后进行判别下三角的情况
int main()
{
    int n = 0;
    scanf("%d",&n);
    int i,j;
    int arr[10][10] = {0};
    for(i=0; i<n;i++)
    {
        for(j=0;j<n;j++)
        {
            scanf("%d",&arr[i][j]);
        }
    }
    for(i=0; i<n;i++)
    {
        for(j=0;j<i;j++)
        {
            if(arr[i][j] != 0)
            {
                printf("NO\n");
                return 0;
            }
        }
    }
    printf("YES\n");
    return 0;
}
*/

//方法二:一边录入元素,一边进行判断
int main()
{
    int n = 0;
    scanf("%d",&n);
    int i,j;
    int arr[10][10] = {0};
    for(i=0; i<n;i++)
    {
        for(j=0;j<n;j++)
        {
            scanf("%d",&arr[i][j]);
             if(i>j)
           {
               if(arr[i][j] != 0)
               {
                   //下三角有不是0的就不满足
                   printf("NO");
                   return 0;
               }
           }
        }
    }
    printf("YES\n");
    return 0;
}