题目大意
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