2178: 图像叠加
内存限制:128 MB
时间限制:1.000 S
评测方式:文本比较
命题人:
提交:21
解决:15
题目描述
给出两幅相同大小的黑白图像(用0-1矩阵)表示,0表示白点,1表示黑点,求两幅图像叠加后的图像。
说明:若两幅图像在相同位置上的像素点都是白色,叠加后为白色,否则为黑色。
输入
第一行包含两个整数m和n,表示图像的行数和列数,中间用单个空格隔开。1 <= m <= 100, 1 <= n <= 100。
之后m行,每行n个整数0或1,表示第一幅黑白图像上各像素点的颜色。相邻两个数之间用单个空格隔开。
之后m行,每行n个整数0或1,表示第二幅黑白图像上各像素点的颜色。相邻两个数之间用单个空格隔开。
输出
m行,每行n个整数,表示叠加后黑白图像上各像素点的颜色。
样例输入 复制
3 3
1 0 1
0 0 1
1 1 0
1 1 0
0 0 1
0 0 1
样例输出 复制
1 1 1
0 0 1
1 1 1
提示
#include<bits/stdc++.h> using namespace std; int a[110][110],b[110][110],m,n; int main(){ cin>>m>>n; for (int i=1;i<=m;i++) { for (int j=1;j<=n;j++) { cin>>a[i][j]; } } for (int i=1;i<=m;i++) { for (int j=1;j<=n;j++) { cin>>b[i][j]; } } for (int i=1;i<=m;i++) { for (int j=1;j<=n;j++) { if (a[i][j]==0&&b[i][j]==0) { cout<<0<<" "; }else { cout<<1<<" "; } } cout<<endl; } return 0; }