poj 2304 Combination Lock

#include <iostream>        //水题
using namespace std;
//是外表盘在转而指针不转,如果将外表盘固定,指针相对于外表盘顺逆方向刚好相反,i.e.,他描述的顺时针方向,指针其实转向逆时针,
//所以顺序应该是(1)逆(2)顺(3)逆
int main()
{
int location[4],sum;
while(cin>>location[0]>>location[1]>>location[2]>>location[3])
{
if(location[0]+location[1]+location[2]+location[3]==0)
break;
sum
=1080;
for(int i=1;i<4;++i)
{
int t=(location[i]-location[i-1])*9;
if(i==2)
{
sum
+=t>0?t:360+t; //对应(2)顺时针
}
else
{
t
=-t;
sum
+=t>0?t:360+t; //对应(1)(3)逆时针
}
}
cout
<<sum<<endl;
}
return 0;
}

  

posted on 2011-07-22 15:02  sysu_mjc  阅读(186)  评论(0编辑  收藏  举报

导航