传送门

[http://codeforces.com/group/1EzrFFyOc0/contest/1016/problem/D]

题意

已知矩阵n行m列,以及每一行,每一列所有元素的异或,用 a1到an表示行异或值,用b1到bm表示列异或值

让你构造一个矩阵满足上面的要求

思路

整个矩阵所有元素异或值等于a1异或到an,同时等于b1异或到bm,如a1异或到an不等于b1异或到bm,就不能构造该矩阵,输出NO

否则输出YES,并构造该矩阵

左上角元素等于a1异或b2异或到bm,第一行其他元素分别等于b2到bm,第一列其他元素分别等于a2到an。剩下的所有元素都等于0,即可

代码

#include<bits/stdc++.h>
using namespace std;
#define ll long long
int a[105],b[105];
int main(){
int n,m,i,j;
//ios::sync_with_stdio(false);
//cin.tie(0);
//cout.tie(0);
//freopen("in.txt","r",stdin);
while(cin>>n>>m){
int ok=0;
for(i=1;i<=n;i++)
cin>>a[i],ok^=a[i];
for(j=1;j<=m;j++)
cin>>b[j],ok^=b[j];
if(!ok==0)
{
cout<<"NO\n";
}
else{
puts("YES");
ok=a[1];
for(i=2;i<=m;i++)
ok^=b[i];
cout<<ok<<' ';
for(i=2;i<=m;i++)
cout<<b[i]<<' ';
cout<<endl;
for(i=2;i<=n;i++)
{
cout<<a[i]<<' ';
for(j=2;j<=m;j++)
cout<<0<<' ';
cout<<endl;
}
}
}
return 0;
}

CF1016 D. Vasya And The Matrix的更多相关文章

  1. CF 1042 E. Vasya and Magic Matrix

    E. Vasya and Magic Matrix http://codeforces.com/contest/1042/problem/E 题意: 一个n*m的矩阵,每个位置有一个元素,给定一个起点 ...

  2. Educational Codeforces Round 48 (Rated for Div. 2) D 1016D Vasya And The Matrix (构造)

    D. Vasya And The Matrix time limit per test 2 seconds memory limit per test 256 megabytes input stan ...

  3. codeforces1016 D. Vasya And The Matrix(思维+神奇构造)

    D. Vasya And The Matrix time limit per test 2 seconds memory limit per test 256 megabytes input stan ...

  4. D. Vasya And The Matrix(Educational Codeforces Round 48)

    D. Vasya And The Matrix time limit per test2 seconds memory limit per test256 megabytes inputstandar ...

  5. Vasya And The Matrix CodeForces - 1016D (思维+构造)

    Now Vasya is taking an exam in mathematics. In order to get a good mark, Vasya needs to guess the ma ...

  6. CodeForces - 1016D Vasya And The Matrix

    题面在这里! 很明显二进制每一位都是无关的,所以可以先把原问题简化:给矩阵中的每个位置填入0/1,使得特定行/列有奇数个1,其他行/列有偶数个1. 一个比较好想的方法是对行和列 列出 n+m 个异或方 ...

  7. CF1042E Vasya and Magic Matrix

    感觉不会期望. 首先把所有格子按照权值从小到大排一下序,这样一共有$n * m$个元素,每个元素有三个属性$x, y, val$. 下文中的下标均为排序后的下标. 这样子我们就可以推出公式: $f_i ...

  8. 【CF1016D】Vasya And The Matrix(构造)

    题意: 思路:构造方式见代码…… #include<cstdio> #include<cstring> #include<iostream> #include< ...

  9. 【Educational Codeforces Round 48 (Rated for Div. 2) D】Vasya And The Matrix

    [链接] 我是链接,点我呀:) [题意] 告诉你每一行.每一列的异或和. 让你求出一个符合要求的原矩阵. [题解] 显然应该有 a1^a2^....^an = b1^b2^....^bn 也即两边同时 ...

随机推荐

  1. C#项目实践之一——WPF多媒体通讯录

    1.Window.Resources  是一种Window级的资源定义. Window.Resources它的作用范围就是在Window容器里的所有子控件,也只有这些子控件才能引用/调用这些资源 Gr ...

  2. Lua基础之MetaTable(6)

    Lua基础之MetaTable(6) 转载地址:http://nova-fusion.com/2011/06/30/lua-metatables-tutorial/ 关于MetaTable的补充:ht ...

  3. 17秋 软件工程 团队第五次作业 Alpha Scrum1

    题目:团队作业--Alpha冲刺 17秋 软件工程 团队第五次作业 Alpha Scrum1 各个成员在 Alpha 阶段认领的任务 伟航:督促和监督团队进度,协调组内合作 港晨:APP前端页面编写: ...

  4. Python--详解Python中re.sub

    给出定义: re.sub(pattern, repl, string, count=0, flags=0) Return the string obtained by replacing the le ...

  5. Activity启动模式 Tasks和Back Stack

    http://www.cnblogs.com/mengdd/archive/2013/06/13/3134380.html Task是用户在进行某项工作时需要与之交互的一系列activities的集合 ...

  6. 使用hint优化Oracle的运行计划 以及 SQL Tune Advisor的使用

    背景: 某表忽然出现查询很缓慢的情况.cost 100+ 秒以上:严重影响生产. 原SQL: explain plan for select * from ( select ID id,RET_NO ...

  7. 20145236《网络对抗》Exp7 网络欺诈技术防范

    20145236<网络对抗>Exp7 网络欺诈技术防范 一.基础问题回答 通常在什么场景下容易受到DNS spoof攻击? 随便连接没有设置密码的wifi的情况下比较容易受攻击,因为这样就 ...

  8. oracle 12c 12.1.0.2.0 BUG 22562145

    Wed May 23 17:46:14 2018TT01: Standby redo logfile selected for thread 1 sequence 42251 for destinat ...

  9. fatal error LNK1169: 找到一个或多个多重定义的符号或多个.c/.cpp文件想同时调用定义在.h文件里面的全局变量,防止重定义变量问题。

    为什么.h文件中不能定义全局变量? 原因: 存在多次创建变量.如果头文件中可以定义全局变量,那么每个包含该头文件的文件里都会有该全局变量的定义.因为C语言的include是直接将文件嵌入到includ ...

  10. 笔记二:常用的h5语义化标签

    0.前言: 所谓语义化标签就是一种 我们仅通过标签名就能判断出该标签内容的语义的标签,见名知意. 总结这部分内容,主要是为了能从繁琐的div嵌套div中,改成带有h5标签码.这样更有利于读写代码. 人 ...