2019大疆PC软件开发笔试——开关和灯泡两个电路板
题目描述:
小A是一名DIY爱好者,经常制作一些有趣的东西。
今天,小A突然想要来做这样一个东西。小A现在有两块同样大小为n×m,有n×m块大小为1×1小电路板拼成的矩形电路板,假设叫做电路板A和电路板B。电路板A上每个小电路板都是一个开关,电路板B上每个小电路板上都是一盏电灯泡。A与B之间存在如下关系:对于B上的某盏灯Bij的开关控制,有A上第i行与第j列所有开关并联控制。即:
现给一矩阵,表示B上灯泡的明暗状态,问是否存在一种A的开关状态,能够满足给出的B上的灯泡开关情况,如果有输出YES,没有输出NO。
输入描述:
第一行,n和m表示电路板的长和宽,(1<=n,m<=1000)
接下来n行,每行有m个由空格隔开的数字,0或1。0表示灯泡暗,1表示灯泡亮
输出描述:
输出一行,如果存在至少一种A的开关设置方式,能够使得B上灯泡明亮和给出的状态矩阵相同,则输出YES;不存在则输出NO。
示例:
样例1:
输入:
2 3
1 1 1
1 1 1
输出:
YES
样例2:
输入:
2 3
1 1 0
0 1 1
输出:
NO
思路
我的想法是可以不判断开关状态,直接判断灯的状态,因为根据电路知识可以得到,一个a[i][j]开关打开将导致b中[i]行和[j]列所有的灯的打开(一个十字交叉)
因此只需要判断b是否满足这种十字交叉的分布
也就是如果b某个元素为true 则他对应的一行或者一列必须为true 不满足直接输出NO(这里可以只遍历第一行和第一列,并计数满足条件的行和列)
全为true的行数和列数必须大于0(表明有交点,交点处该处a的开关打开) 不满足输出NO
代码整理后给出
另一个网友的代码:
https://blog.csdn.net/lizhentao0707/article/details/80964205
2019大疆PC软件开发笔试——开关和灯泡两个电路板的更多相关文章
- H3C软件开发笔试面试总结
注:我目前是陕西师范大学计算机科学学院本科生,在西安参加笔试以及面试 先是笔试,我选择的是JAVA方向,笔试选择题目主要是一些基础性的题目,然后简答题问了final.finally.finallize ...
- 大疆无人机 Android 开发总结——视频解码
DJI_Mobile_SDK是大疆为开发者提供的开发无人机应用的开发接口,可以实现对无人机飞行的控制,也可以利用无人机相机完成一些视觉任务.目前网上的开发教程主要集中于DJI 开发者社区,网上的资源非 ...
- [笔试]CVTE 2019提前批 Windows应用开发笔试
不定项选择(x20) 数据结构 以abcdefg的顺序入栈,不可能出现的出栈顺序 一棵二叉树给出中序遍历和后序遍历结果,求左子树的节点数 操作系统 Linux中用什么指令可以找到文件中所有以" ...
- 软件开发架构、网络基础知识、osi七层模型
一.软件开发的架构 涉及到两个程序之间通讯的应用大致可以分为两种: 第一种是应用类:qq.微信.网盘.优酷这一类是属于需要安装的桌面应用 第二种是web类:比如百度.知乎.博客园等使用浏览器访问就可以 ...
- 高质量,高效率的多国语言软件开发(Web/PC/Mobile),使用接口约束/调用不同语言资源
偶然间翻出了几年前写的一个小程序,把当时的资料整理整理分享一下. 当时为了给自己的软件实现多国语言功能,而开发的辅助工具:SE String Resource. 这是当时基于自己另一款 IDE 软件抽 ...
- atitit.提升软件开发效率大的总结O5
atitit.提升软件开发效率大的总结O5 #---平台化.组件化 1 #--cbb公用模块的建设 1 #---内部最佳流程方法跟实践的总结 2 #---内部知识体系的建设 2 #---问题Qa库的建 ...
- 让大疆去做测绘---航线规划软件APP
让大疆去做测绘---航线规划软件APP http://blog.zhulong.com/u10783270/blogdetail7162540.html RockyCapture无人机航线飞行控制软件 ...
- 破解“低代码”的4大误区,拥抱低门槛高效率的软件开发新选择 ZT
最近,每个人似乎都在谈论“低代码”.以美国的Outsystems.Kinvey,以及国内的活字格为代表的低代码开发平台,正在风靡整个IT世界.毕竟,能够以最少的编码快速开发应用的想法本身就很吸引人.但 ...
- 双非本科进大疆(SP)!
哈喽,大家好,我是仲一.今天和大家分享的是一位优秀双非本科生上岸大疆的经历(羡慕哭了...). 今年4月底的时候,这位学弟和我分享了他拿下oppo,京东,联发科实习offer的经历,当时我还发了朋友圈 ...
随机推荐
- PHP 传值操作和传地址操作
PHP中有两种赋值操作 一种是传值操作 example: $a = 1; $b = $b; 这个就是传值 传地址是: example2: $a = 1; $b = &$a; 这两者有什么区别呢 ...
- 巧用foxmail同步qq邮箱的通讯录
如果您企业使用的qq企业邮箱,那么你在web端登陆邮箱并填写收件人时,发现QQ邮箱是可以自动完成,并且中文名称自动完成. 如何在使用foxmail邮件客户端的情况下也同步这些邮箱信息呢?需要七步,看截 ...
- NOIP2018考前抱佛脚——数据结构基础及STL实现
目录 动态数组 栈 队列 优先队列 动态数组 srand(time(0)); std::vector<int> qwq; for(int i = 1;i <= 10;++i) qwq ...
- Django商城项目笔记No.11用户部分-QQ登录1获取QQ登录网址
Django商城项目笔记No.11用户部分-QQ登录 QQ登录,亦即我们所说的第三方登录,是指用户可以不在本项目中输入密码,而直接通过第三方的验证,成功登录本项目. 若想实现QQ登录,需要成为QQ互联 ...
- HTML页面打印分页标签样式
<html> <head> <meta name="vs_targetSchema" content="http://schemas ...
- jQuery 实现复选框的全选与反选
<script> //实现全选与反选 $(".allAndNotAll").click(function () { if ($(this).prop("che ...
- CentOS7.5搭建Flask环境python3.6+mysql+redis+virtualenv
wget安装环境装备 yum install gcc patch libffi-devel python-devel zlib-devel bzip2-devel openssl-devel ncur ...
- CentOS下iptables详解
一:前言 防火墙,其实说白了讲,就是用于实现Linux下访问控制的功能的,它分为硬件的或者软件的防火墙两种.无论是在哪个网络中,防火墙工作的地方一定是在网络的边缘.而我们的任务就是需要去定义到底防 ...
- 2018-2019-2 20165302 Exp5 MSF基础应用
1.实验目的 掌握metasploit的基本应用方式,重点常用的三种攻击方式的思路 2.实验内容 一个主动攻击实践; (1分) MS17-010 一个针对浏览器的攻击:(1分) ms14_064 一个 ...
- java读写properties配置文件不改变属性的顺序和注释
先贴代码 import java.io.BufferedWriter; import java.io.File; import java.io.FileInputStream; import java ...