CF1016 D. Vasya And The Matrix
传送门
[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的更多相关文章
- CF 1042 E. Vasya and Magic Matrix
E. Vasya and Magic Matrix http://codeforces.com/contest/1042/problem/E 题意: 一个n*m的矩阵,每个位置有一个元素,给定一个起点 ...
- 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 ...
- 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 ...
- 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 ...
- 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 ...
- CodeForces - 1016D Vasya And The Matrix
题面在这里! 很明显二进制每一位都是无关的,所以可以先把原问题简化:给矩阵中的每个位置填入0/1,使得特定行/列有奇数个1,其他行/列有偶数个1. 一个比较好想的方法是对行和列 列出 n+m 个异或方 ...
- CF1042E Vasya and Magic Matrix
感觉不会期望. 首先把所有格子按照权值从小到大排一下序,这样一共有$n * m$个元素,每个元素有三个属性$x, y, val$. 下文中的下标均为排序后的下标. 这样子我们就可以推出公式: $f_i ...
- 【CF1016D】Vasya And The Matrix(构造)
题意: 思路:构造方式见代码…… #include<cstdio> #include<cstring> #include<iostream> #include< ...
- 【Educational Codeforces Round 48 (Rated for Div. 2) D】Vasya And The Matrix
[链接] 我是链接,点我呀:) [题意] 告诉你每一行.每一列的异或和. 让你求出一个符合要求的原矩阵. [题解] 显然应该有 a1^a2^....^an = b1^b2^....^bn 也即两边同时 ...
随机推荐
- Linux 小知识翻译 - 「桌面环境」
这次聊聊桌面环境. 上次聊了 X Window System 相关的内容,虽然令人意外,但X Window System 和桌面环境不是一回事.请大家稍微考虑一下. X Window System 是 ...
- 17秋 软件工程 团队第五次作业 Alpha Scrum4
17秋 软件工程 团队第五次作业 Alpha Scrum4 今日完成的任务 世强:部门基础信息模块数据更新.部门审核提交: 港晨:设计编写登录界面的一部分: 树民:学习python基本语法.flask ...
- MySQL视图 索引 存储过程 触发器 函数
视图: 也就是一个虚拟表(不是真实存在的),它的本质就是根据SQL语句获取动态的数据集,并为其命名.用户使用时只需要使用命名的视图即可获取结果集,并可以当做表来使用.它的作用就是方便查询操作,减 ...
- HTML元素 - input type=hidden
定义 传输关于客户/服务器交互的状态信息. Transmits state information about client/server interaction. 注释 这种输入类型用户无法控制,但 ...
- 控件_AnalogClock
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools= ...
- 从头学Android之RelativeLayout相对布局
http://blog.csdn.net/worker90/article/details/6893246 相对布局对于做Web开发来说再熟悉不过了,我们在用CSS+DIV的时候经常会用到这些类似的相 ...
- win10搭建ftp服务器的操作方法【图文教程】
我们知道FTP是TCP/IP网络上两台计算机传送文件的协议,使得主机间可以共享文件.对于win10版本的ftp服务器搭建方法可能有部分用户还不是很清楚,下面这篇文章就是关于win10搭建ftp服务器的 ...
- gitlab 使用流程
gitlab 使用流程 1. 开发人员写代码,开发产品. 2. 测试人员进行测试,如果发现bug, 填写 Issues - List - new issus 3. 开发人员修复bug, 从master ...
- c++ 启动exe(启动别的exe程序)
http://blog.csdn.net/sdcxyz/article/details/13631613 1例程 1.1面向过程例程如下: #include <iostream> #inc ...
- centos 6 中恢复删除的文件
CentOS 6 安裝 extundelete:: ##############测试的时候需要2块硬盘############### yum install e2fsprogs-devel e2fsp ...