zoukankan      html  css  js  c++  java
  • Codeforce 1016D Vasya And The Matrix

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

    解:第一行为(b_1,b_2...b_m)第一列为(a_1,a_2,...a_n)最后将左上角修改为(a_1oplus b_2 oplus b_3 ... oplus b_m)

    #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 ? '
    ' : ' ');
    			}
    		}
    	}
    	return 0;
    }
    
  • 相关阅读:
    poj 2104(线段树)
    poj 1962(并查集+带权更新)
    hdu 2818(并查集,带权更新)
    hdu 1856
    hdu 3172
    hdu 1325(并查集)
    hdu 5023
    pku 2777(经典线段树染色问题)
    hdu 1671(字典树判断前缀)
    hdu 1247 (字典树入门)
  • 原文地址:https://www.cnblogs.com/xFANx/p/9498655.html
Copyright © 2011-2022 走看看