Processing math: 100%

Codeforce 1016D Vasya And The Matrix

要求构造n行m列的矩阵,使得每一行的数值异或结果分别为ai,每一列的数值异或结果分别为bi

解:第一行为b1,b2...bm第一列为a1,a2,...an最后将左上角修改为a1b2b3...bm

#include <cstdio>
#include <cstring>
#include <algorithm>
using namespace std;
typedef long long LL;

int n, m;

const int maxn = 1e2 + 10;
int A[maxn], B[maxn];
int ans[maxn][maxn];
int r1, r2;

int main() {
	scanf("%d%d", &n, &m);
	r1 = 0; r2 = 0;
	for (int i = 0; i < n; i++) {
		scanf("%d", &A[i]);
		r1 ^= A[i];
	}
	for (int i = 0; i < m; i++) {
		scanf("%d", &B[i]);
		r2 ^= B[i];
	}
	if (r1 != r2) {
		puts("NO");
	} else {
		int t = 0;
		for (int i = 1; i < m; i++) ans[0][i] = B[i], t ^= B[i];
		for (int i = 1; i < n; i++) ans[i][0] = A[i];
		ans[0][0] = (t ^ A[0]);
		puts("YES");
		for (int i = 0; i < n; i++) {
			for (int j = 0; j < m; j++) {
				printf("%d%c", ans[i][j], j == m - 1 ? '\n' : ' ');
			}
		}
	}
	return 0;
}
posted @   xFANx  阅读(114)  评论(0编辑  收藏  举报
编辑推荐:
· 现代计算机视觉入门之:什么是图片特征编码
· .NET 9 new features-C#13新的锁类型和语义
· Linux系统下SQL Server数据库镜像配置全流程详解
· 现代计算机视觉入门之:什么是视频
· 你所不知道的 C/C++ 宏知识
阅读排行:
· 【译】我们最喜欢的2024年的 Visual Studio 新功能
· 个人数据保全计划:从印象笔记迁移到joplin
· Vue3.5常用特性整理
· 重拾 SSH:从基础到安全加固
· 并发编程 - 线程同步(一)
点击右上角即可分享
微信分享提示