题目链接
题目大意
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; }