题目
现在xiaoz开学了,他们其实被一把密码锁锁住了,他知道密码(36-23-12),同时知道开锁方法,其方法是
(1)先市镇顺时针转两圈
(2)指针停到第一个数的位置
(2)逆时针转一圈
(4)继续逆时针转到指针指向第二个数
(5)指针顺时针转到第三个数
(6)锁打开
已知初始位置和密码,要求转多少度才能开锁
输入
输入多组数据,每组数据四个数,分别是n,first,middle,last,均是小于40(n是初始位置),大于0的,当输入是“0,0,0,0”时结束。
输出
输出degree(所要转的度数)。
样例输入
0 30 0 30
5 35 5 35
0 20 0 20
7 27 7 27
0 10 0 10
9 19 9 19
0 0 0 0
样例输出
1350
1350
1620
1620
1710
1710
注意:
这里的逆时针指的是你这当前指针的方向。
代码
#include <bits/stdc++.h>
using namespace std;
int main()
{
int num1,num2,num3,num4;
while(~scanf("%d%d%d%d",&num1,&num2,&num3,&num4)&&(num1||num2||num3||num4))
{
int deg=720;
if(num1<num2)
deg+=(40+(num1-num2))*9;
else
deg+=(num1-num2)*9;
deg+=360;
if(num2<num3)
deg+=9*(num3-num2);
else
deg+=9*(num3+40-num2);
if(num3<num4)
deg+=(40+(num3-num4))*9;
else
deg+=(num3-num4)*9;
cout<<deg<<endl;
}
}
[点击并拖拽以移动]