[模拟]纺车的轮子 Spinning Wheels

题目链接

题目大意

5个轮子 每个轮子上面有w个缺口 缺口的初始角度是n 宽度是m 每秒转速v 求当他们同时开始转的情况下,什么时候他们的缺口足以让一道阳光通过(就是有重叠部分)

思考

纯模拟题目没啥说的,就是模拟轮子转1S 2S 3S .... 10000S 每个缺口的状态 并判断一下 如果有则输出

#include <cstdio>
#include <cstring>
int v[6],s[6],pos[400],x[6][6],y[6][6],i,j,k,t;
int main(){
    for(i=1;i<=5;i++){
        scanf("%d%d",&v[i],&s[i]);
        for(j=1;j<=s[i];j++){
            scanf("%d%d",&x[i][j],&y[i][j]);  //轮子的初始角度和宽度
        }
    }
    for(t=0;t<=10000;t++){
        memset(pos,0,sizeof(pos));
        for(i=1;i<=5;i++){
            for(int j=1;j<=s[i];j++){
                for(k=x[i][j];k<=x[i][j]+y[i][j];k++) pos[k%360]++;
                x[i][j] = (x[i][j]+v[i])%360;
            }
        }
        for(i=0;i<=359;i++) if(pos[i]==5){  //如果有五个缺口重叠的话
            printf("%d\n",t);
            return 0;
        }
    }
    printf("none");
    return 0;
}
时间: 2024-11-10 18:58:22

[模拟]纺车的轮子 Spinning Wheels的相关文章

Spinning Wheels

Spinning Wheels 一架纺车有五个纺轮,这五个不透明的轮子边缘上都有一些缺口.这些缺口必须被迅速而准确地排列好.每个轮子都有一个起始标记(在0度),这样所有的轮子都可以在统一的已知位置开始转动.轮子按照角度变大的方向旋转,所以从起始位置开始,在一定的时间内,它们依次转过1度,2度等等(虽然这些轮子很可能不会同时转过这些角度). 这是一个整数问题.轮子不会转过1.5度或23.51234123度这样的角度.例如,轮子可能在一秒钟内转过20到25度甚至30到40度(如果转得快的话). 这个

【USACO 3.2.3】纺车的轮子

[描述] 一架纺车有五个纺轮,这五个不透明的轮子边缘上都有一些缺口.这些缺口必须被迅速而准确地排列好.每个轮子都有一个起始标记(在0度),这样所有的轮子都可以在统一的已知位置开始转动.轮子按照角度变大的方向旋转(即0经过旋转到达1的位置),所以从起始位置开始,在一定的时间内,它们依次转过1度,2度等等(虽然这些轮子很可能不会同时转过这些角度). 这是一个整数问题.轮子不会转过1.5度或23.51234123度这样的角度.例如,轮子可能在一秒钟内转过20到25度甚至30到40度(如果转得快的话).

USACO Spinning Wheels

题意是给你五个轮子, 每个轮子上有一些开口, 现在每个轮子从0位置开始转动,问最短啥时候5个轮子的开口相遇,刚开始看这道题的时候没啥思路, 就像等到最后在写,最后还没思路看了题解, 直接模拟就行, 代码如下:(注意处理边界,他不是离散的360个口,而是一个区间. /* ID: m1500293 LANG: C++ PROG: spin */ #include <cstdio> #include <cstring> #include <algorithm> using n

英文阅读--20140911NPR

Your Favorite Sites Will 'Slow Down' Today, For A Cause i Slow-loading messages will appear on some of your favorite sites Wednesday as part of a protest for net neutrality. But the sites won't actually be loading slower - the banners will be display

我来给你造轮子--第二期 -- IOS字符串解析,模拟json数据的传输效果。

在项目开发过程中,往往需要,解析字符串来取得tag值,从而匹配本地数据库之中的储存值,达到数据传输的效果: 包括游戏之中也是这样,通过字符串的为操作,或字符串的解析的操作,从而达到解析的目的: 我来给你造轮子---第二期 字符串模拟解析: <span style="font-family: Arial, Helvetica, sans-serif;">NSArray *array = [[NSArray alloc]initWithObjects:@"逗A&quo

第27篇 重复造轮子---模拟IIS服务器

在写程序的时候,重复造轮子是程序员的一个大忌,很多人对重复造轮子持有反对的态度,但是我觉得这个造轮子的过程,是对于现有的知识的一个深入的探索的过程,虽然我们不可能把轮子造的那么的完善,对于现在有的东西是一个更好的理解和使用.   当你打开一个网页时,你会看到一个html页面的呈现,当然这是一个完整的Http的请求和响应的过程,无非是对HTML+CSS+JS一个综合的产物,在这个过程中浏览器请求数据的过程中会发出一个有一个格式的字符串(基于http协议生成的http请求报文),服务器在接收这样的一

Java基础-继承-编写一个Java应用程序,设计一个汽车类Vehicle,包含的属性有车轮个数 wheels和车重weight。小车类Car是Vehicle的子类,其中包含的属性有载人数 loader。卡车类Truck是Car类的子类,其中包含的属性有载重量payload。每个 类都有构造方法和输出相关数据的方法。最后,写一个测试类来测试这些类的功 能。

#29.编写一个Java应用程序,设计一个汽车类Vehicle,包含的属性有车轮个数 wheels和车重weight.小车类Car是Vehicle的子类,其中包含的属性有载人数 loader.卡车类Truck是Car类的子类,其中包含的属性有载重量payload.每个 类都有构造方法和输出相关数据的方法.最后,写一个测试类来测试这些类的功 能. package hanqi; public class Vehicle { private int wheels; private int weight

uva10067 Playing with Wheels 【建图+最短路】

题目:uva10067 Playing with Wheels 题意:给出一个机器,有四个循环的轮子,见图,然后给出一个初始数和目标数,然后期间不能出现的数字,每一分钟可以拨动一个数,问你最短需要的时间. 分析:这个题目可以转化为求图的最短路. 因为有对于一个当前状态,有8种可以转化为的状态,那么我们可以把每一种状态转化为一个点,然后状态之间连长度 1 的边,然后求一次初始状态到目标状态的最短路. 开始的时候我们每一组数据建图一次,下来0.9s,然后优化了一下,就是在每次建图不能到达的边删除之后

Android(Java) 模拟登录知乎并抓取用户信息

前不久.看到一篇文章我用爬虫一天时间"偷了"知乎一百万用户.仅仅为证明PHP是世界上最好的语言,该文章中使用的登录方式是直接复制cookie到代码中,这里呢,我不以爬信息为目的.仅仅是简单的介绍使用java来进行模拟登录的基本过程.之前写过的文章android 项目实战--打造超级课程表一键提取课表功能事实上就是模拟登录的范畴.再加上近期在知乎上看到非常多人问关于超级课程表的实现,事实上本质就是模拟登录,掌握了这篇文章的内容,你不再操心抓不到信息了.然后,这篇文章会使用到之前的一篇Co