A+B for Matrices

A+B for Matrices

http://www.nowcoder.com/questionTerminal/e431b3ae9efa4726b45a659b71abe124

题意:给出两个同型矩阵A,B(行列数在每组数据第一行给出),判断矩阵A+B全0行和全0列共有多少
个人思路:用三次二重循环:
第一次读矩阵A;
第二次按行优先读矩阵B,同时判断每个元素是否和A对应位置的元素互为相反数(通过flag标记)。
第三次按列优先判断A和B的每一对应列。

#include<stdio.h>
int main()
{
    int row,column;
    while(scanf("%d%d",&row,&column) != EOF&& row)
    {
        int ans = 0,flag = 1;
        int a[row][column],b[row][column];
        for(int i = 0;i<row;i++) // 读A矩阵
            for(int j = 0;j<column;j++)
                scanf("%d",&a[i][j]);
        for(int i = 0;i<row;i++) // 读B矩阵并判断每一行
        {
            for (int j = 0; j < column; j++)
            {
                scanf("%d", &b[i][j]);
                if (flag && a[i][j] + b[i][j] == 0)
                    continue;
                else
                    flag = 0;
            }
            if (flag)
                ans++;
            flag = 1;
        }
        for(int i = 0;i<column;i++) // 判断每一列
        {
            for (int j = 0; j < row; j++)
            {
                if (flag && a[j][i] + b[j][i] == 0)
                    continue;
                flag = 0;
            }
            if(flag)
                ans++;
            flag = 1;
        }
        printf("%d\n",ans);
    }
    return 0;
}
全部评论
原来是校友hhh
点赞 回复 分享
发布于 2021-02-02 16:49
编译通过了但是有个疑问,一开始不判断EOF的时候一直死循环,,自己在本地测试以及自测输入都是可以输出正确结果正常退出的,想知道是测试样例有问题还是必须要判断EOF?
点赞 回复 分享
发布于 2021-03-04 18:02

相关推荐

10-25 00:32
香梨想要offer:感觉考研以后好好学 后面能乱杀,目前这简历有点难
点赞 评论 收藏
分享
最近和朋友聊天,她说了句让我震惊的话:"我发现我连周末点外卖都开始'最优解'了,一定要赶在高峰期前下单,不然就觉得自己亏了。"这不就是典型的"班味入侵"吗?工作思维已经渗透到生活的方方面面。
小型域名服务器:啊?我一直都这样啊?我还以为是我爱贪小便宜呢?每次去实验室都得接一杯免费的开水回去,出门都得规划一下最短路径,在宿舍就吃南边的食堂,在实验室就吃北边的食堂,快递只有顺路的时候才取。
点赞 评论 收藏
分享
2 收藏 评论
分享
牛客网
牛客企业服务