题目链接:http://acm.hrbust.edu.cn/index.php?m=ProblemSet&a=showProblem&problem_id=2295

方方正正
Time Limit: 1000 MS Memory Limit: 32768 K
Total Submit: 118(32 users) Total Accepted: 30(21 users) Rating: Special Judge: No
Description
一个r行c列的矩阵里的所有元素都为0或1,给出这个矩阵每一行的和以及每一列的和,那么是否存在这样一个矩阵满足条件呢,如果存在任意一个满足条件的矩阵则输出YES,如果不存在则输出NO?

Input
(此行删除)第一行为一个正整数T(T <= 100),表示测试样例的组数。

每组测试数据第一行包含两个整数r,c,表示矩阵的行数和列数。

第二行包含r个32位无符号数,表示矩阵每行的和。

第三行包含c个32位无符号数,表示矩阵每列的和。

(1 <= r,c <= 100000)

处理到文件结束

Output
如果存在这样的一个01矩阵,输出YES,否则输出NO。
Sample Input

1 1

0

1

1 1

1

1

Sample Output
NO

YES

Source
2016级新生程序设计全国邀请赛

【思路分析】判断这个矩阵是不是可以完全由0和1组成,以下5个条件可以判断构不成01矩阵:1.假如一行的和大于列数的话是不合法的,2.一列的和大于行数的话也是不合法的,3.假如某一行的和==列数,那么每一列的和都不能为0,4.假如某一列的和==行数,那么每一行的和都不能为0,5.所有列数的和等于所有行数的和。
【AC代码】

#include<cstdio>
#include<cstring>
#include<algorithm>
#include<cmath>
#include<stack>
#include<queue>
using namespace std;
#define LL long longLL r[100005],c[100005];
int main()
{LL R,C;while(~scanf("%lld %lld",&R,&C)){LL sum1=0,sum2=0,flag=1,flag1=0,flag2=0;for(LL i=1;i<=R;i++){scanf("%lld",&r[i]);if(r[i]>C){flag=0;}if(r[i]==C){flag1=1;}if(r[i]==0){flag2=1;}sum1+=r[i];}for(LL i=1;i<=C;i++){scanf("%lld",&c[i]);if(c[i]>R){flag=0;}if(c[i]==0&&flag1==1){flag=0;}if(c[i]==R&&flag2==1){flag=0;}sum2+=c[i];}if(sum1!=sum2){flag=0;}if(flag==1){printf("YES\n");}else{printf("NO\n");}}return 0;
}

哈理工OJ 295 方方正正(判断01矩阵是否合法)相关推荐

  1. 方方正正——贪心+01矩阵

    题目: 方方正正 Time Limit: 1000 MS Memory Limit: 32768 K Total Submit: 76(21 users) Total Accepted: 16(13 ...

  2. [Leedcode][JAVA][第542题][01矩阵][BFS]

    [问题描述]542. 01 矩阵 给定一个由 0 和 1 组成的矩阵,找出每个元素到最近的 0 的距离. 两个相邻元素间的距离为 1 . 示例 : 输入: 0 0 0 0 1 0 1 1 1 输出: ...

  3. matlab把向量转化为矩阵,MATLAB小函数:将列向量转化为0-1矩阵

    MATLAB小函数:将列向量转化为0-1矩阵 将列向量转化为0-1矩阵,例如 A = 1 2 1 5 3 4 1 4 3 转换为: B = 1 0 0 0 0 0 1 0 0 0 1 0 0 0 0 ...

  4. 给定01矩阵求连通域python_手写01矩阵连通域分析

    连通域分析其实是一个路径搜索问题,搜索方式就看联通的规则(4联通:上下左右算是联通,8联通:上下左右还有四个对角) 01矩阵背景是0,黑色的,有色区域是1,白色的,从图像的左上角(最外围的边要去掉)进 ...

  5. 给定一个二维 0-1 矩阵,其中 1 表示陆地,0 表示海洋,每个位置与上下左右相连。已知矩阵中有且只有两个岛屿,求最少要填海造陆多少个位置才可以将两个岛屿相连。

    给定一个二维 0-1 矩阵,其中 1 表示陆地,0 表示海洋,每个位置与上下左右相连.已知矩阵中有且只有两个岛屿,求最少要填海造陆多少个位置才可以将两个岛屿相连. 输入是一个二维整数数组,输出是一个非 ...

  6. 15.使用一样的BFS方法(代码几乎一模一样)解决多道LeetCode题目--542题(01矩阵)1765题(地图中的最高点)994腐烂的橘子

    一.综述 本文总结自己刷LeetCode中遇到的使用BFS方法解决相同类型的题目.(代码几乎是一模一样) 二.01矩阵(LeetCode第542题) class Solution {int[][] d ...

  7. 01矩阵等比放大(Java代码、ACM格式)--2021.9.7百度笔试研发A卷

    百度笔试题目:01矩阵等比放大(Java代码)–2021.9.7百度笔试研发A卷 一.题目详情: 第一行输入两个数,第一个数为矩阵的长和宽,第二个数为需要放大的倍数: 接下来输入的是矩形的内容. 示例 ...

  8. 矩阵分析与多元统计12 0-1矩阵 交换矩阵与Kronecker乘积

    矩阵分析与多元统计12 0-1矩阵 交换矩阵与Kronecker乘积 基本性质 用交换矩阵的构造证明基本性质 这一讲介绍交换矩阵与Kronecker乘积相关的性质.对于矩阵A∈Fm×nA \in F^ ...

  9. 矩阵分析与多元统计12 0-1矩阵 交换矩阵简介

    矩阵分析与多元统计12 0-1矩阵 交换矩阵简介 选择矩阵 交换矩阵 顾名思义,0-1矩阵就是所有元素取值均为0和1的矩阵,这类矩阵在矩阵分析.多元统计乃至组合学和图论中都有很重要的应用.在这个主题中 ...

最新文章

  1. 手机版的python-python手机版
  2. NBIOT 移远BC28模块+stm32开发板例程、教程(打通TCP、COAP协议)
  3. 《CCNA安全640-554认证考试指南》——6.4节复习所有考试要点
  4. 微服务架构的常见问题
  5. 7.python之正则表达式re模块
  6. 网络爬虫--17.【BeautifuSoup4实战】爬取腾讯社招
  7. centos linux怎么安装mysql_CentOS-Linux系统下安装MySQL
  8. sevlet中web.xml 文件
  9. 从WordCount看Spark大数据处理的核心机制(1)
  10. zypper 删除mysql_如何在 Linux 上安装/卸载一个文件中列出的软件包?
  11. 2012服务器在IIS部署的SLL(https)网址谷歌浏览器无法访问的问题解决
  12. keras对MNIST数据集分类
  13. 十分钟快速讲明白K均值聚类算法
  14. 论文的格式: 以Wiley为案例
  15. cmd 文件批量添加前缀
  16. Odoo CRM获福布斯评为《2022最佳开源CRM》
  17. eval解析json字符串
  18. js unshift性能分析
  19. OSChina 周六乱弹 —— 感谢女装红薯开办了这个网站
  20. tl-wn821n linux驱动程序,tl wn821n驱动下载

热门文章

  1. 自动调用Wine Windows Program Loader执行EXE文件失败的解决办法
  2. 2306d安装dub包
  3. 抖音上那些魔性洗脑神曲音乐,我用Python教你一次性下载
  4. python现在排第几名_2019 编程语言排行榜:C 排名衰退,python即将问鼎
  5. 鸿蒙蕴含的哲理,蕴含哲理的感悟短语,意义深刻,耐人寻味
  6. 路由器工作在网络模型中的哪一层
  7. 1.76复古传奇降魔剑是否存在隐藏属性
  8. 沉船会有什么_我的世界:七座独特风格的沉船水屋,房屋虽简约,但容易学会...
  9. 隐藏SSID和STA搜索隐藏SSID原理
  10. 刺激战场服务器无响应进不去游戏,绝地求生刺激战场为什么进不去