以順時針旋轉為例子:
(1) 假設 原本的位置a < 後來的位置b
那麼所轉過的格數 = 40 - (b-a)
(2) 假設 原本的位置a > 後來的位置b
那麼所轉過的格數 = a-b
至於逆時針的做法則那是倒過來,也就是說如果為(1)的情況, 那麼所轉過的格數 = a-b
#include <stdio.h>
int main(void)
{
int a, b, c, p, d;
while (scanf("%d%d%d%d", &p, &a, &b, &c) == 4 && (p||a||b||c))
{
d = 0;
if (p < a)
d = d + 40 - (a-p);
else
d = d + (p-a);
if (a < b)
d = d + (b-a);
else
d = d + 40 - (a-b);
if (b < c)
d = d + 40 - (c-b);
else
d = d + (b-c);
printf("%d\n", 1080 + 9*d);
}
return 0;
}
沒有留言:
張貼留言