列表

详情


NC54159. 上三角矩阵判定

描述

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

原站题解

上次编辑到这里,代码来自缓存 点击恢复默认模板

C(clang11) 解法, 执行用时: 2ms, 内存消耗: 372K, 提交时间: 2020-11-13 09:21:31

#include <stdio.h>
int main()
{
int n, a, i, j, cnt = 0;
scanf("%d", &n);
for (i = 0; i < n; i++)
for (j = 0; j < n; j++)
{
scanf("%d", &a);
if (j < i && a != 0)
{
printf("NO\n");
return 0;
}
}
printf("YES\n");
}

C++(clang++11) 解法, 执行用时: 3ms, 内存消耗: 480K, 提交时间: 2020-11-14 15:57:58

#include <stdio.h>
int main()
{
int n, a, i, j;
scanf("%d", &n);
for (i = 0; i < n; i++)
for (j = 0; j < n; j++)
{
scanf("%d", &a);
if (j < i && a != 0)
{
printf("NO\n");
return 0;
}
}
printf("YES\n");
}

pypy3(pypy3.6.1) 解法, 执行用时: 47ms, 内存消耗: 18672K, 提交时间: 2020-09-04 21:15:16

n=int(input())
for i in range(n):
    if list(map(int,input().strip().split()))[:i] != [0]*i:
        print('NO')
        break;
else:
    print('YES')

Python3(3.5.2) 解法, 执行用时: 24ms, 内存消耗: 3320K, 提交时间: 2020-07-03 11:16:34

n = int(input())
for i in range(n):
    if list(map(int,input().split()))[:i] != [0] * i:
        print('NO')
        break
else:
    print('YES')

上一题