题目描述:

一架纺车有五个纺轮(也就是五个同心圆),这五个不透明的轮子边缘上都有一些缺口。这些缺口必须被迅速而准确地排列好。每个轮子都有一个起始标记(在0度),这样所有的轮子都可以在统一的已知位置开始转动。轮子按照角度变大的方向旋转,所以从起始位置开始,在一定的时间内,它们依次转过1度,2度等等(虽然这些轮子很可能不会同时转过这些角度)。
这是一个整数问题。轮子不会转过1.5度或23.51234123度这样的角度。例如,轮子可能在一秒钟内转过20到25度甚至30到40度(如果转得快的话)。
这个问题中的所有角度都限制在 0 <= 角度 <= 359 这个范围内。轮子转过 359 度后接下来就是 0 度。每个轮子都有一个确定的旋转速度,以秒作为单位。1 <= 速度 <= 180。
轮子上的缺口的起始角度和缺口大小(或长度)各由一个整数表示,都以度为单位。在一个轮子上,两个缺口之间至少有一度的间隔。
在起始位置,设时间为 0,所有的轮子的起始标记排列成一条直线。你的程序必须计算,最早出现每个的轮子上的缺口同其他轮子上的缺口对准(也就是一束光可以通过五个轮子上的五个缺口)情况的时间。这些缺口在任意一个角度对准。

INPUT FORMAT:

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

OUTPUT FORMAT:

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


SAMPLE INPUT

30 1 0 120
50 1 150 90
60 1 60 90
70 1 180 180
90 1 180 60


SAMPLE OUTPUT

9


解题思路:

一开始我是懵了,因为想法是找出他们的最小周期,不过在仔细思考了一阵后,发现360秒之后他们必定回到原来的位置,然后问题就变得简单了。后面唯一的一个小问题就是区间不动,v=30时,1s后30—150时对应0—120,所以我们可以把速度设为360-v,这样1s后,330+30—330+150为true,得解。

#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include<math.h>
#include<algorithm>
using namespace std;FILE *fin = fopen("spin.in", "r");
FILE *fout = fopen("spin.out", "w");bool f[6][360];
int s[6],g[6];bool fun(int a)
{for (int i = 1; i <= 5; i++)if (!f[i][(g[i] + a) % 360]) return false;return true;
}int main(){int ccount,a,b;for(int i=1;i<=5;i++){fscanf(fin,"%d%d",&s[i],&ccount);s[i]=360-s[i];//区间不动,那么就让速度变为360-v for(int j=1;j<=ccount;j++){fscanf(fin,"%d%d",&a,&b);for(int k=0;k<=b;k++)f[i][(a+k)%360]=true;}}int flag=-1;for(int i=0;i<360;i++){if(flag!=-1) break;else{for(int j=0;j<360;j++)//判断是否重合 if (fun(j)) {flag=i; break;}for (int j=1;j<=5;j++)//前进的路程 g[j]+=s[j];}}if(flag!=-1) fprintf(fout,"%d\n",flag);else fprintf(fout,"none\n");exit(0);
}

USACO-Section3.2 Spinning Wheels【模拟法】相关推荐

  1. USACO Spinning Wheels

    洛谷 P2728 纺车的轮子 Spinning Wheels https://www.luogu.org/problemnew/show/P2728 JDOJ 1800: Spinning Wheel ...

  2. 洛谷 P2728 纺车的轮子 Spinning Wheels

    P2728 纺车的轮子 Spinning Wheels 题目背景 一架纺车有五个纺轮(也就是五个同心圆),这五个不透明的轮子边缘上都有一些缺口.这些缺口必须被迅速而准确地排列好.每个轮子都有一个起始标 ...

  3. 洛谷P2728 纺车的轮子 Spinning Wheels

     P2728 纺车的轮子 Spinning Wheels 29通过 66提交 题目提供者该用户不存在 标签USACO 难度普及/提高- 提交  讨论  题解 最新讨论 暂时没有讨论 题目背景 一架纺车 ...

  4. 【USACO题库】3.2.3 Spinning Wheels纺车的轮子

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

  5. uscao Spinning Wheels

    模拟题 /* ID: jinbo wu TASK: spin LANG:C++ */ #include<bits/stdc++.h> using namespace std; //这题本来 ...

  6. P2728 纺车的轮子 Spinning Wheels(枚举)

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

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

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

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

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

  9. Python包装用户指南(删减了讨论和新闻部分)

    Python包装用户指南 欢迎使用Python Packaging用户指南,这是一系列教程和参考资料,可帮助您使用现代工具分发和安装Python包. 本指南由Python Packaging Auth ...

最新文章

  1. 实验二初入linux,实验二:熟悉Linux的环境
  2. 对jquery的conflict方法的解读
  3. spring cloud gateway 深入了解 - Predicate
  4. 产品经理必须知道的一些知识:决定价格的四种因素
  5. OBJECT_ID()的使用方法
  6. 双11专刊|云原生数据仓库AnalyticDB支撑双11,大幅提升分析实时性和用户体验
  7. mycat mysql ha 方案_7、基于 HA 机制的 Mycat 高可用--mycat
  8. JSON(3)--- 数组
  9. 系统背景描述_【通用博世丨智能广播系统】新都芳华微马公园
  10. 使用pyecharts绘制新冠肺炎疫情地图
  11. 深度探索C++对象模型复习和学习 第三章 Data 语义学(The Semantics of Data )
  12. java8 日期 时间 时区
  13. 单调栈和单调队列的本质区别
  14. 更改centos7操作系统的IP地址
  15. 日记(2007年7月3日)
  16. 合工大机器人足球仿真robocup2D球队代码实验七实验验收
  17. Flutter 适配安卓异形屏幕
  18. linux 目录 问号 原因,linux – 如何修复所有问号作为权限的目录
  19. 自动化测试框架[各自动化测试框架大比拼]
  20. Hbase数据库中表的操作命令简介 Hbase shell命令

热门文章

  1. DNF史诗计算机最新版,DNF100级史诗搭配计算器(dnf史诗组合计算工具)V2020.9.19 正式版...
  2. 小米2017年校园招聘笔试题第三题
  3. 60.IP地址分配(静态分配+动态分配+零配置)
  4. windows的max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
  5. iOS版本更新到10.3无法下载企业应用
  6. Python 的xlrd库读取日期和数字时输出显示不正确问题解决
  7. 哈哈!研究生入学也要军训!更惨的是一周一次!
  8. 2018CCPC吉林赛区 The Hermit
  9. Nginx 快速入门
  10. Python 课课练 (七):字典与集合课后题