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 ...
随机推荐
- [noi1779]D
先离散,然后将黑的看成1,白的看成-1,对整个序列差分,所有区间建为$(l,r+1)$的无向边,并标上-1和1,每一个点的前缀和即为该点的值 考虑什么情况下能够使得所有点都是0:当且仅当每一个点的度数 ...
- 【2020五校联考NOIP #6】三格缩进
题意: 给出 \(n\) 个数 \(a_1,a_2,\dots,a_n\),你要进行 \(m\) 次操作,每次操作有两种类型: \(1\ p\ x\):将 \(a_p\) 改为 \(x\). \(2\ ...
- 洛谷 P7163 - [COCI2020-2021#2] Svjetlo(树形 dp)
洛谷题面传送门 神仙级别的树形 dp. u1s1 这种代码很短但巨难理解的题简直是我的梦魇 首先这种题目一看就非常可以 DP 的样子,但直接一维状态的 DP 显然无法表示所有情况.注意到对于这类统计一 ...
- 在R语言中使用Stringr进行字符串操作
今天来学习下R中字符串处理操作,主要是stringr包中的字符串处理函数的用法. 先导入stringr包,library(stringr),require(stringr),或者stringr::函数 ...
- PowerToys插件扩展(类似Alfred)
在mac系统除了自带的Spotlight还有一个很好用的工具叫Alfred image 在windows系统也有一个很好用的工具叫PowerToys,是微软的一个开源项目 image https:// ...
- 振鹏学习Java的第二天!
一.今日收获 1.了解了eclipse的具体使用方法. 2.学习了Java程序设计完全手册的第一章内容,明白了相关知识. 3.通过看哔哩哔哩的java的教程视频了解了Dos命令及java的变量和常量. ...
- linux 软链接与查看历史指令
ln 说明 软连接也叫符号链接,类似于windows里的快捷方式,主要存放了路径. 基本语法 ln -s[原文件或目录][软连接名] 删除软链接 [root@hadoop102 ~]# rm -rf ...
- day10 负载均衡
day10 负载均衡 负载均衡反向代理 正向代理:即是客户端代理, 代理客户端, 服务端不知道实际发起请求的客户端. # (内部上网) 客户端 <-> 代理 -> 服务端 反向代理即 ...
- day07 Linux配置修改
day07 Linux配置修改 昨日回顾 1.系统目录 /etc :系统配置目录 /bin-> /usr/bin :保存常用命令的目录 /root :超级管理员目录 /home :普通管理员目录 ...
- k8s使用ceph的rbd作后端存储
k8s使用rbd作后端存储 k8s里的存储方式主要有三种.分别是volume.persistent volumes和dynamic volume provisioning. volume: 就是直接挂 ...