WUST Online Judge - 2153: 旋转

Posted mcr-tcp

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了WUST Online Judge - 2153: 旋转相关的知识,希望对你有一定的参考价值。

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
");
            else if (n == 3) printf("ccw
");
            else printf("undefined
");
        }
        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
");
        else if (s[i] == ‘v‘ && s[i+2] == ‘>‘ || s[i] == ‘<‘ && s[i+2] == ‘v‘) {
            if (n == 1) printf("ccw
");
            else if (n == 3) printf("cw
");
            else printf("undefined
");
        }
        else if (s[i] == ‘<‘ && s[i+2] == ‘<‘ || s[i] == ‘<‘ && s[i+2] == ‘>‘ || s[i] == ‘>‘ && s[i+2] == ‘>‘ || s[i] == ‘>‘ && s[i+2] == ‘<‘)
            printf("undefined
");
        else if (s[i] == ‘^‘ && s[i+2] == ‘<‘ || s[i] == ‘>‘ && s[i+2] == ‘^‘) {
            if (n == 1) printf("ccw
");
            else if (n == 3) printf("cw
");
            else printf("undefined
");
        }
        else if (s[i] == ‘^‘ && s[i+2] == ‘>‘ || s[i] == ‘>‘ && s[i+2] == ‘v‘) {
            if (n == 1) printf("cw
");
            else if (n == 3) printf("ccw
");
            else printf("undefined
");
        }
    }
    return 0;
}




以上是关于WUST Online Judge - 2153: 旋转的主要内容,如果未能解决你的问题,请参考以下文章

WUST Online Judge - 1930: 热浪

WUST Online Judge - 2106: 熄灯问题

WUST Online Judge - 2147: 与时间赛跑

WUST Online Judge - 2104: 特殊密码锁

WUST Online Judge - 2161: 特殊的三角形

WUST Online Judge - 1188: 零起点学算法95——骨牌铺方格