WUST Online Judge - 2153: 旋轉
阿新 • • 發佈:2018-06-12
pre des html mar mst width turn lin line
2153: 旋轉
Time Limit: 1 Sec Memory Limit: 128 MB 64bit IO Format: %lld
Submitted: 586 Accepted: 137
[Submit][Status][Web Board]
Description
漫步在棉花糖市的街道上,zjlord已經發現了一些商人出售一種現在非常受歡迎的玩具他想要加入這個熱潮,立即買下了這個奇怪的裝置。
這個裝置是V形的。這個裝置可以繞著一個看不見的魔法軸旋轉。每一秒會顯示下面的四個位置(每一個相對於前一個旋轉了90度,第四個跟在第一個之後):
每個位置保持一秒,然後根據這個裝置的旋轉方向以順時針或逆時針順序切換到下一個位置。
zjlord設法讓這個裝置精確地旋轉n秒。他被這個過程的優雅所吸引,大家都知道的,他忘記了旋轉方向!幸運的是,他知道開始位置和結束位置,你能幫他推出旋轉方向嗎?
Input
第一個字符串中有兩個字符 – 這個裝置的開始和結束位置。該位置用以下字符之一編碼:v(ASCII碼118,小寫v),<(ASCII碼60),^(ASCII碼94)或>(ASCII碼62))。字符由一個空格分隔。
在第二個字符串中,給出單個數字n(0≤n≤1e9) - 旋轉的持續時間。
Output
如果方向只能是順時針,輸出cw;如果方向只能是逆時針,輸出ccw;否則,輸出undefined。。
Sample Input
^ > 1 < ^ 3 ^ v 6
Sample Output
cw ccw undefined
Author
wjw
代碼如下:
#include <stdio.h> int main() { long long n; char s[10]; while (gets(s) != NULL) { int i = 0; fflush(stdin); scanf("%lld", &n); n %= 4; if (s[i] == ‘v‘ && s[i+2] == ‘<‘ || s[i] == ‘<‘ && s[i+2] == ‘^‘) { if (n == 1) printf("cw\n"); else if (n == 3) printf("ccw\n"); else printf("undefined\n"); } else if (s[i] == ‘v‘ && s[i+2] == ‘^‘ || s[i] == ‘v‘ && s[i+2] == ‘v‘ || s[i] == ‘^‘ && s[i+2] == ‘^‘ || s[i] == ‘^‘ && s[i+2] == ‘v‘) printf("undefined\n"); else if (s[i] == ‘v‘ && s[i+2] == ‘>‘ || s[i] == ‘<‘ && s[i+2] == ‘v‘) { if (n == 1) printf("ccw\n"); else if (n == 3) printf("cw\n"); else printf("undefined\n"); } else if (s[i] == ‘<‘ && s[i+2] == ‘<‘ || s[i] == ‘<‘ && s[i+2] == ‘>‘ || s[i] == ‘>‘ && s[i+2] == ‘>‘ || s[i] == ‘>‘ && s[i+2] == ‘<‘) printf("undefined\n"); else if (s[i] == ‘^‘ && s[i+2] == ‘<‘ || s[i] == ‘>‘ && s[i+2] == ‘^‘) { if (n == 1) printf("ccw\n"); else if (n == 3) printf("cw\n"); else printf("undefined\n"); } else if (s[i] == ‘^‘ && s[i+2] == ‘>‘ || s[i] == ‘>‘ && s[i+2] == ‘v‘) { if (n == 1) printf("cw\n"); else if (n == 3) printf("ccw\n"); else printf("undefined\n"); } } return 0; }
WUST Online Judge - 2153: 旋轉