题解 | #A+B for Matrices#

A+B for Matrices

https://www.nowcoder.com/practice/e431b3ae9efa4726b45a659b71abe124

#include <iostream>
using namespace std;
struct matrix {
    int data[10][10];
    int row;
    int col;
    matrix(int r, int c) {
        row = r;
        col = c;
    }
    matrix operator+(matrix B);
};
matrix matrix::operator+(matrix B) {
    matrix ans = matrix(row, col);
    for (int i = 0; i < row; i++)
        for (int j = 0; j < col; j++) {
            ans.data[i][j] = data[i][j] + B.data[i][j];
        }
    return ans;
}
int zero(matrix A) {
    int zero = A.row + A.col;
    for (int i = 0; i < A.row; i++) {
        for (int j = 0; j < A.col; j++) {
            if (A.data[i][j] != 0) {
                zero--;
                break;
            }
        }
    }
    for (int i = 0; i < A.col; i++) {
        for (int j = 0; j < A.row; j++) {
            if (A.data[j][i] != 0) {
                zero--;
                break;
            }
        }
    }
    return zero;
}
int main() {
    int row, col;
    while (cin >> row >> col) { // 注意 while 处理多个 case
        // cout << a + b << endl;
        matrix A =  matrix(row, col);
        matrix B =matrix(row,col);
        for (int i = 0; i < row; i++) {
            for (int j = 0; j < col; j++) {
                int temp;
                cin >> temp;
                A.data[i][j] = temp;
            }
        }
        for (int i = 0; i < row; i++) {
            for (int j = 0; j < col; j++) {
                int temp;
                cin >> temp;
                B.data[i][j] = temp;
            }
        }
        cout<<zero(A+B)<<endl;
    }
}
// 64 位输出请用 printf("%lld")

全部评论

相关推荐

03-01 21:45
中北大学 Python
孤蓝长空:请你说一下为什么你用websocket而不是http,请你说一下什么是rpc,为什么用rpc,你的rpc的传输协议是JSON,xml还是什么 请你描述一下你的鉴权流程(完整的) 我问的是第二个项目,随便问的哈哈哈
开工第一帖
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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