雕刻时光

just do it……nothing impossible
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

物理模拟题——USACO3.2.3

Posted on 2011-03-09 19:04  huhuuu  阅读(198)  评论(0编辑  收藏  举报
注意是顺时针转!!!
View Code
#include<stdio.h>
#define N 360

bool a[5][N+N];
int v[5];

int main()
{
int i,j;
int n;
while(scanf("%d",&v[0])!=EOF)
{
for(i=0;i<5;i++)
{
for(j=0;j<360;j++)
{
a[i][j]
=0;
}
}

int add=0;
int fi,end;
scanf(
"%d",&n);
for(i=1;i<=n;i++)
{
scanf(
"%d%d",&fi,&end);
for(j=fi;j<=end+fi;j++)
{
a[add][j
%360]=1;
}
}

add
++;
while(add<5)
{
scanf(
"%d",&v[add]);
scanf(
"%d",&n);
for(i=1;i<=n;i++)
{
scanf(
"%d%d",&fi,&end);
for(j=fi;j<=end+fi;j++)
{
a[add][j
%360]=1;

}
}
add
++;
}

bool rt=0;
bool t1,t2,t3,t4,t5;

for(i=0;i<=360;i++)
{
int tv1=360-(v[0]*i)%360;
int tv2=360-(v[1]*i)%360;
int tv3=360-(v[2]*i)%360;
int tv4=360-(v[3]*i)%360;
int tv5=360-(v[4]*i)%360;

for(j=0;j<=359;j++)
{
t1
=a[0][(tv1+j)%360];
t2
=a[1][(tv2+j)%360];
t3
=a[2][(tv3+j)%360];
t4
=a[3][(tv4+j)%360];
t5
=a[4][(tv5+j)%360];

if(t1==1&&t2==1&&t3==1&&t4==1&&t5==1)
{
printf(
"%d\n",i);
rt
=1;
break;
}
}
if(rt==1)break;
}
if(rt==0)
printf(
"none\n");
}
}