题解 | #KiKi判断上三角矩阵#

KiKi判断上三角矩阵

https://www.nowcoder.com/practice/9a6786c28cdb45f9b991685f867b5d08

#include <stdio.h>

int main() {
    int a;
    int i,j;
    while (scanf("%d", &a) != EOF) { // 注意 while 处理多个 case
        // 64 位输出请用 printf("%lld") to 
       int arr[a][a];
        for(i = 0; i < a; i++)
       {
          for(j = 0; j < a;j++)
          {
            scanf("%d",&arr[i][j]);
          }
       }
       
       int count = 0;
       for(i = 0; i < a; i++)
       {
          for(j = 0; j < a;j++)
          {
            if(arr[i][j] == 0)
            {
                count++;
            }
          }
       }
       int c = 0;
       i = 1;
       while(i < a)
       {
        c = c + i;
        i ++;
       }
       
       if(count == c)
       {
        printf("YES\n");
       }
       else
       {
        printf("NO\n");
       }
    return 0;
    }
    
}

有一个简单的思路

就是数出0的个数,count++;

但是找出要找出a与0的个数之间的关系

仔细观察不难发现是等差数列求和

但是我研究出来一个更好用的公式

int c = 0;

i = 1;

while(i < a)

{

c = c + i;

i ++;

}

运用循环累计计算出c的值

即count的判断条件

全部评论

相关推荐

榕城小榕树:1200单休,我去干点啥别的不好
点赞 评论 收藏
分享
牛客90772103...:格林美(无锡)
点赞 评论 收藏
分享
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务