题目描述 Description


一架纺车有五个纺轮(也就是五个同心圆),这五个不透明的轮子边缘上都有一些缺口。这些缺口必须被迅速而准确地排列好。每个轮子都有一个起始标记(在0度),这样所有的轮子都可以在统一的已知位置开始转动。轮子按照角度变大的方向旋转(即0经过旋转到达1的位置),所以从起始位置开始,在一定的时间内,它们依次转过1度,2度等等(虽然这些轮子很可能不会同时转过这些角度)。

这是一个整数问题。轮子不会转过1.5度或23.51234123度这样的角度。例如,轮子可能在一秒钟内转过20到25度甚至30到40度(如果转得快的话)。

这个问题中的所有角度都限制在 0 <= 角度 <= 359 这个范围内。轮子转过 359 度后接下来就是 0 度。每个轮子都有一个确定的旋转速度,以秒作为单位。1 <= 速度 <= 180。

轮子上的缺口的起始角度和缺口大小(或长度)各由一个整数表示,都以度为单位。在一个轮子上,两个缺口之间至少有一度的间隔。长度也包含缺口起始的角度,即0 180包括0..180共计181个角度,比一般人想象的多一个。

在起始位置,设时间为 0,所有的轮子的起始标记排列成一条直线。你的程序必须计算,最早出现每个的轮子上的缺口同其他轮子上的缺口对准(也就是一束光可以通过五个轮子上的五个缺口)情况的时间。这些缺口在任意一个角度对准。

输入描述 Input Description


输入中的五行对应五个轮子。

第一个数字表示轮子的转动速度。下一个数字是缺口的数目 W。1 <= W <= 5。接下来的 W 对数字表示每个缺口的起始角度和长度。

输出描述 Output Description


只有一行,包括一个整数,表示光能够通过这五个轮子的最早时间。如果无解,输出’none’(小写,不含引号)

题解 Analysis


纯模拟纯暴力,用桶记录每个角度上缺口的数量,够5就退
论吸着giligili爱刷水题的乐♂趣

代码 Code


/*
ID:wjp13241
PROG:spin
LANG:C++
*/
#include <stdio.h>
#include <cstring>
#define n 5
using namespace std;
int t[361];
int st[6][6],ed[6][6];
int c[6],v[6];
int check(int x)
{memset(t,0,sizeof(t));for (int i=1;i<=n;i++)for (int j=1;j<=c[i];j++)for (int k=st[i][j];k<=ed[i][j];k++)if (++t[(k+x*v[i])%360]==n)return 1;return 0;
}
int main()
{freopen("spin.in","r",stdin);freopen("spin.out","w",stdout);for (int i=1;i<=n;i++){scanf("%d%d",&v[i],&c[i]);for (int j=1;j<=c[i];j++){scanf("%d%d",&st[i][j],&ed[i][j]);ed[i][j]+=st[i][j];}}for (int i=0;i<360;i++)if (check(i)){printf("%d\n",i);return 0;}printf("none\n");return 0;
}

Spinning Wheels_usaco3.2_模拟相关推荐

  1. USACO-Section 3.2 Spinning Wheels(模拟)

    此处有目录↑ 描述 一架纺车有五个纺轮(也就是五个同心圆),这五个不透明的轮子边缘上都有一些缺口.这些缺口必须被迅速而准确地排列好.每个轮子都有一个起始标记(在0度),这样所有的轮子都可以在统一的已知 ...

  2. 计算机网络具有双重性特点,计算机网络(本)_201806_模拟卷2_答案

    华东理工大学网络教育学院 (全部答在答题纸上,请写清题号,反面可用.试卷与答题纸分开交) 计算机网络(本)_201806_模拟卷2_答案 一.单选题(共30题,每题2分,共60分) 1. 数字版权管理 ...

  3. [模拟]纺车的轮子 Spinning Wheels

    题目链接 题目大意 5个轮子 每个轮子上面有w个缺口 缺口的初始角度是n 宽度是m 每秒转速v 求当他们同时开始转的情况下,什么时候他们的缺口足以让一道阳光通过(就是有重叠部分) 思考 纯模拟题目没啥 ...

  4. 就业模拟试题2_答案

    一.    基础知识部分(每题2分,共40分) 1.简单叙述委托 答案 委托实际上是类(一个貌似函数一样的类),我们已经使用函数指针很多年了--函数指针也被称为过程类型,但是它们的实现都不是类.它们是 ...

  5. 网络实用技术基础模拟测试2_网络安全工程师教你:Kali Linux之Metasploit渗透测试基础(五)...

    本分享仅做学习交流,请自觉遵守法律法规! 搜索:Kali与编程,学习更多网络攻防干货! 下篇文章将在明天下午五点发布,敬请关注! 一.背景介绍 Metasploit就是一个漏洞框架.它的全称叫做 ...

  6. 在计算机网络的定义中,一个计算机网络包含多台具,计算机网络本1412模拟卷2_答案...

    华东理工大学网络教育学院 <计算机网络本>试卷 试卷满分100分.考试时间90分钟. (注意:全部答在答题纸上,答试卷上无效,试卷与答题纸分开交) 一.填空题(共20分) 1.在计算机网络 ...

  7. linux curl 命令模拟 http get post 请求

    get post 提交的数据 地址 和步骤 需要用使用 burpsuite 先获取 再使用curl模拟请求 通过get方法请求: curl protocol://address:port/url?ar ...

  8. 2020年 第11届 蓝桥杯 第2次模拟赛真题详解及小结【Java版】

    蓝桥杯 Java B组 省赛真题详解及小结汇总[2013年(第4届)~2020年(第11届)] 注意:部分代码及程序 源自 蓝桥杯 官网视频(历年真题解析) 郑未老师. 2013年 第04届 蓝桥杯 ...

  9. 杭电操作系统实验三--- 实现模拟shell(arm架构华为云)

    什么是shell? Linux系统的shell作为操作系统的外壳,为用户提供使用操作系统的接口.它是命令语言.命令解释程序及程序设计语言的统称. shell如何运行程序? shell用fork建⽴新进 ...

最新文章

  1. CSS3——对齐 组合选择符 伪类 伪元素 导航栏 下拉菜单
  2. 【深度学习】详解集成学习的投票和Stacking机制
  3. WPF后台操作前台元素之查找对象
  4. akka---Getting Started Tutorial (Java): First Chapter
  5. 深入理解javascript原型和闭包(9)——简述【执行上下文】下
  6. mysql导入导出数据库文件(转载)
  7. html中显示变量的数组,javascript如何判断变量是不是数组?
  8. SAP Fiori Launchpad Tile,UI5应用,和PFCG Role的对应关系
  9. SAP Cloud for Customer前端url里的一长串base64code是在哪里根据什么逻辑计算的
  10. TSAP传输服务访问点
  11. 飞鸽传书:服务器开发系列—系统构架
  12. python复现感知机的二分类算法
  13. 这才是男朋友该说的话^_^
  14. 转换GridView的内容到Excel里面 ---带有格式
  15. js 浅拷贝(浅复制、浅克隆)、深拷贝(深复制、深克隆)
  16. 多表无关联查询(范围查询):查询某个人属于哪个工资区间
  17. php开启ziparchive类,php压缩解压文件ZipArchive类的方法使用教程
  18. 《货币金融学》学习笔记
  19. 计算机包含几个语素几个词,英语一词有几个语素
  20. CGCS2000国家大地坐标系参数

热门文章

  1. linux 添加win10启动程序,linux和win10双系统添加启动项
  2. Parallels Desktop 16 for Mac发布 附下载地址
  3. 冯.诺依曼计算机特点
  4. gb g t计算机单位,t和g的换算(硬盘容量G跟T的换算)
  5. html播放asf视频,如何同步播放asf和vga教学视频文件
  6. Android 中的字体大小适配
  7. python3微信公众号实现聊天机器人
  8. 如何关闭80端口,如何查找哪些端口在使用中
  9. UTC时间转本地时间
  10. 【ALM】软件应用生命周期管理——Polarion介绍04