CF812A Sagheer and Crossroads 题解
Content
有一个十字路口,从最下面的部分开始,逆时针依次标号为 \(1,2,3,4\)。每个部分有四个灯,分别为左转的灯、直行的灯、右转的灯以及人行通道灯(只有可能为红灯和绿灯)。如果某个部分的人行横道的灯光和可以到达或离开该部分的车道的灯光同时为绿灯,则可能会发生交通事故。现在,给出四个部分的 \(16\) 个灯的情况(\(0\) 表示红灯、\(1\) 表示绿灯),请你预测是否会发生交通事故。
Solution
直接暴力判断情况即可,只不过判断的条件有些多罢了。
这里借用一下题面的图来详细讲解:

我们可以很容易地发现,只要人行横道灯是绿色,并且在这个部分中左转、直行、右转的灯中有一个灯亮绿灯,那么就会发生交通事故。
当然,除了上面这些以外,还有一些情况也会发生交通事故:
- \(1\) 号部分的人行横道灯亮绿灯,并且 \(2\) 号部分的左转灯、\(3\) 号部分的直行灯、\(4\) 号部分的右转灯中有一个灯亮绿灯。
- \(2\) 号部分的人行横道灯亮绿灯,并且 \(1\) 号部分的右转灯、\(3\) 号部分的左转灯、\(4\) 号部分的直行灯中有一个灯亮绿灯。
- \(3\) 号部分的人行横道灯亮绿灯,并且 \(1\) 号部分的直行灯、\(2\) 号部分的右转灯、\(4\) 号部分的左转灯中有一个灯亮绿灯。
- \(4\) 号部分的人行横道灯亮绿灯,并且 \(1\) 号部分的左转灯、\(2\) 号部分的直行灯、\(3\) 号部分的右转灯中有一个灯亮绿灯。
上面这些都用一个 \(\texttt{if}\) 来判断就好。条件很多,需要细心和耐心。
Code
#include <cstdio>
#include <cstring>
#include <cmath>
#include <iostream>
#include <algorithm>
#include <cmath>
using namespace std;
int l[7], r[7], s[7], p[7];
int main() {
for(int i = 1; i <= 4; ++i) scanf("%d%d%d%d", &l[i], &s[i], &r[i], &p[i]);
if((p[1] && (l[1] || s[1] || r[1] || l[2] || s[3] || r[4])) || (p[2] && (r[1] || l[2] || s[2] || r[2] || l[3] || s[4])) || (p[3] && (s[1] || r[2] || l[3] || s[3] || r[3] || l[4])) || (p[4] && (l[1] || s[2] || r[3] || l[4] || s[4] || r[4]))) printf("YES");
else printf("NO");
return 0;
}
CF812A Sagheer and Crossroads 题解的更多相关文章
- Codeforces812A Sagheer and Crossroads 2017-06-02 20:41 139人阅读 评论(0) 收藏
A. Sagheer and Crossroads time limit per test 1 second memory limit per test 256 megabytes input sta ...
- AC日记——Sagheer and Crossroads codeforces 812a
812A - Sagheer and Crossroads 思路: 模拟: 代码: #include <cstdio> #include <cstring> #include ...
- 【codeforces 812A】Sagheer and Crossroads
[题目链接]:http://codeforces.com/contest/812/problem/A [题意] 有一个小箭头指的那个地方; 指的就是人行道路; 然后p[i]指的就是那4个人行道是不是绿 ...
- Codeforces Round #417 (Div. 2)A B C E 模拟 枚举 二分 阶梯博弈
A. Sagheer and Crossroads time limit per test 1 second memory limit per test 256 megabytes input sta ...
- [Codeforces Round#417 Div.2]
来自FallDream的博客,未经允许,请勿转载,谢谢. 有毒的一场div2 找了个1300的小号,结果B题题目看错没交 D题题目剧毒 E题差了10秒钟没交上去. 233 ------- A.Sag ...
- Codeforces Round #417 (Div. 2) 花式被虐
A. Sagheer and Crossroads time limit per test 1 second memory limit per test 256 megabytes input sta ...
- codeforces round 417 div2 补题 CF 812 A-E
A Sagheer and Crossroads 水题略过(然而被Hack了 以后要更加谨慎) #include<bits/stdc++.h> using namespace std; i ...
- codeforces 812E Sagheer and Apple Tree(思维、nim博弈)
codeforces 812E Sagheer and Apple Tree 题意 一棵带点权有根树,保证所有叶子节点到根的距离同奇偶. 每次可以选择一个点,把它的点权删除x,它的某个儿子的点权增加x ...
- Codeforces Round #417 (Div. 2) B. Sagheer, the Hausmeister —— DP
题目链接:http://codeforces.com/problemset/problem/812/B B. Sagheer, the Hausmeister time limit per test ...
随机推荐
- 力扣 - 剑指 Offer 27. 二叉树的镜像
题目 剑指 Offer 27. 二叉树的镜像 思路1(递归) 我们可以使用深度优先搜索,先递归到链表的末尾,然后从末尾开始两两交换.就相当于后续遍历而已 记得要先保存下来node.right节点,因为 ...
- windows defender antivirus占用内存解决教程
[windows defender关闭常见问题] windows defender antivirus占用内存解决教程: 1.按下"Win+R"打开"运行" 2 ...
- Apache发布支持Java EE微服务的Meecrowave服务器
Apache OpenWebBeans团队希望通过使服务器适应用户来消除复杂性.所以,该团队发布了Apache Meecrowave项目1.0版. Apache Meecrowave是一款小型服务器, ...
- Redis list操作命令
rpop命令 用于移除列表的最后一个元素,返回值为移除的元素.当列表不存在时,返回nil. 基本语法: rpop key_name LPOP:移除并返回列表第一个元素 RPOP:移除并返回列表最后一个 ...
- GWAS与GS模型介绍与比较
目录 1.GWAS模型 1.1卡方检验 1.2 相关性系数的t检验 1.3 一般线性模型GLM 1.4 混合线性模型MLM 1.5 压缩混合线性模型CMLM 1.6 SUPER 1.7 FarmCPU ...
- 8种Vue中数据更新了但页面没有更新的情况
目录 1.Vue 无法检测实例被创建时不存在于 data 中的 属性 2. Vue 无法检测'对象属性'的添加或移除 3.Vue 不能检测利用数组索引直接修改一个数组项 4.Vue 不能监测直接修改数 ...
- flask分页功能:基于flask-sqlalchemy和jinja2
先看源码: @app.route('/movie', methods=['GET', 'POST']) @app.route('/home', methods=['GET', 'POST']) @ap ...
- hbase参数调优
@ 目录 HBase参数调优 hbase.regionserver.handler.count hbase.hregion.max.filesize hbase.hregion.majorcompac ...
- == 和 equals() 方法的区别
== 在比较基本数据类型时,是比较两边的数据的值是否相等 // 整数类型 int num1 = 1; // 双精度浮点数类型 double num2 = 1.0; // 输出结果为 true Syst ...
- Android editttext只能输入不能删除(选中后被软键盘遮住)
感谢https://www.dutycode.com/post-20.html: 解决方法:在布局外外嵌一层scrollview.