首页 > 代码库 > [模拟]纺车的轮子 Spinning Wheels

[模拟]纺车的轮子 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;}

 

[模拟]纺车的轮子 Spinning Wheels