传送门

[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. Alpha冲刺! Day9 - 砍柴

    Alpha冲刺! Day9 - 砍柴 今日已完成 晨瑶:继续补充gitkraken教程. 昭锡:实现主页基本布局. 永盛:进一步了解了框架,为框架生成的模型填充了假数据到数据库. 立强:文章模块基本实 ...

  2. centos7下安装docker(12.4容器如何与外部进行通信)

    1.容器如何访问外部 前面我们做了很多试验:只要host能连外网,使用默认bridge(docker0)创建得容器就能访问外网,那么容器是怎样访问外网的呢? 注:这里的外网不仅是internet,包括 ...

  3. redis缓存设计

    1:缓存技术和框架的重要性 互联网的一些高并发,高性能的项目和系统中,缓存技术是起着功不可没的作用.缓存不仅仅是key-value的简单存取,它在具体的业务场景中,还是很复杂的,需要很强的架构设计能力 ...

  4. 【洛谷】【模拟+栈】P4711 「化学」相对分子质量

    [题目传送门:] [戳] (https://www.luogu.org/problemnew/show/P4711) [算法分析:] 关于一个分子拆分后的产物,一共有三种情况: 原子 原子团 水合物 ...

  5. laravel orm进行增删改查

    https://laravelacademy.org/post/9699.html 建议用DB门面直接操作数据库,因为ORM性能低.数据查询上面,ORM不会比DB差的,就比如with,是用了sql最基 ...

  6. ROS教程0 环境配置

    1安装环境配置(桌面进入命令行) echo "source /opt/ros/indigo/setup.bash" >> ~/.bashrc source ~/.bas ...

  7. [转]matplotlib - plt.rcParams、matshow/cmap/坐标轴设置

    转自:https://blog.csdn.net/qq_30815237/article/details/87903024 1.plt.rcParams plt(matplotlib.pyplot)使 ...

  8. Java/JSP程序连接不上Mysql驱动问题解决方法

    错误提示: java.lang.ClassNotFoundException: com.mysql.jdbc.Driverat java.net.URLClassLoader$1.run(URLCla ...

  9. cisco ospf

    ospf配置:(Open Shortest Path First)PC0 and PC1 via Ospf to communicate. Network map as below.Environme ...

  10. C++ 预处理器

    直接上代码 1.#define 预处理 #include <iostream> using namespace std; #define PI 3.14159 int main () { ...