Content

有一个十字路口,从最下面的部分开始,逆时针依次标号为 \(1,2,3,4\)。每个部分有四个灯,分别为左转的灯、直行的灯、右转的灯以及人行通道灯(只有可能为红灯和绿灯)。如果某个部分的人行横道的灯光和可以到达或离开该部分的车道的灯光同时为绿灯,则可能会发生交通事故。现在,给出四个部分的 \(16\) 个灯的情况(\(0\) 表示红灯、\(1\) 表示绿灯),请你预测是否会发生交通事故。

Solution

直接暴力判断情况即可,只不过判断的条件有些多罢了。

这里借用一下题面的图来详细讲解:

我们可以很容易地发现,只要人行横道灯是绿色,并且在这个部分中左转、直行、右转的灯中有一个灯亮绿灯,那么就会发生交通事故。

当然,除了上面这些以外,还有一些情况也会发生交通事故:

  1. \(1\) 号部分的人行横道灯亮绿灯,并且 \(2\) 号部分的左转灯、\(3\) 号部分的直行灯、\(4\) 号部分的右转灯中有一个灯亮绿灯。
  2. \(2\) 号部分的人行横道灯亮绿灯,并且 \(1\) 号部分的右转灯、\(3\) 号部分的左转灯、\(4\) 号部分的直行灯中有一个灯亮绿灯。
  3. \(3\) 号部分的人行横道灯亮绿灯,并且 \(1\) 号部分的直行灯、\(2\) 号部分的右转灯、\(4\) 号部分的左转灯中有一个灯亮绿灯。
  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 题解的更多相关文章

  1. 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 ...

  2. AC日记——Sagheer and Crossroads codeforces 812a

    812A - Sagheer and Crossroads 思路: 模拟: 代码: #include <cstdio> #include <cstring> #include ...

  3. 【codeforces 812A】Sagheer and Crossroads

    [题目链接]:http://codeforces.com/contest/812/problem/A [题意] 有一个小箭头指的那个地方; 指的就是人行道路; 然后p[i]指的就是那4个人行道是不是绿 ...

  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 ...

  5. [Codeforces Round#417 Div.2]

    来自FallDream的博客,未经允许,请勿转载,谢谢. 有毒的一场div2 找了个1300的小号,结果B题题目看错没交  D题题目剧毒 E题差了10秒钟没交上去. 233 ------- A.Sag ...

  6. Codeforces Round #417 (Div. 2) 花式被虐

    A. Sagheer and Crossroads time limit per test 1 second memory limit per test 256 megabytes input sta ...

  7. codeforces round 417 div2 补题 CF 812 A-E

    A Sagheer and Crossroads 水题略过(然而被Hack了 以后要更加谨慎) #include<bits/stdc++.h> using namespace std; i ...

  8. codeforces 812E Sagheer and Apple Tree(思维、nim博弈)

    codeforces 812E Sagheer and Apple Tree 题意 一棵带点权有根树,保证所有叶子节点到根的距离同奇偶. 每次可以选择一个点,把它的点权删除x,它的某个儿子的点权增加x ...

  9. 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 ...

随机推荐

  1. 第十四章 kubernetes 核心技术-调度器

    一.概述 一个容器平台的主要功能就是为容器分配运行时所需要的计算,存储和网络资源.容器调 度系统负责选择在最合适的主机上启动容器,并且将它们关联起来.它必须能够自动的处 理容器故障并且能够在更多的主机 ...

  2. 关于"丢失的牛"这个题的教学反思

    某天上课讲到这样一个题:丢失的牛1~n,乱序排列,告诉从第二个位置到最后一个位置, 每个位置的前面的数字中比它小的数的个数,求每个位置的数字是多少N<=8000 FormatInput第一行给出 ...

  3. 洛谷 P4135 作诗(分块)

    题目链接 题意:\(n\) 个数,每个数都在 \([1,c]\) 中,\(m\) 次询问,每次问在 \([l,r]\) 中有多少个数出现偶数次.强制在线. \(1 \leq n,m,c \leq 10 ...

  4. [Ocean Modelling for Begineers] Ch4. Long Waves in a Channel

    Ch4. Long Waves in a Channel 简介 本章主要介绍明渠中分层流体模拟.练习包括浅水表面波,风暴潮.内波和分层流体模拟. 4.1 有限差分法详细介绍 4.1.1 泰勒公式 4. ...

  5. js ajax 请求

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  6. 【数据处理】python将GO注释结果整理为WEGO文件

    通常,比对NR库后为m8格式,通过NR和GO数据库对应关系文件,写代码整理为Gene-->GO文件,如下: 这里是一对一的关系,要转换为WEGO格式文件,即一对多关系,如下: 用python脚本 ...

  7. 关于ARM的PC指针(什么时候PC+8,PC+4,PC-4,PC-8)转

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明.                                                 ...

  8. cpu的性能测试

    #!/bin/bash #user%加上sys%是性能的评判标准 User_sys_a=`sar -u 1 3 |tail -1 |awk '{print $3"+"$5}'|bc ...

  9. springcloud - alibaba快速上手 - 更新完毕

    1.简单对比一下springcloud与springcloud-alibaba 2.准备知识 官网:https://nacos.io/zh-cn/ 查看cloud和springboot的对应关系 ht ...

  10. webservice--常用注解

    定义说明书的显示方法1.@WebService(serviceName="PojoService", portName="PojoPort", name=&qu ...