zoukankan      html  css  js  c++  java
  • WUST Online Judge

    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;
    }
    
    作者:McR
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
  • 相关阅读:
    [刷题] IDA*
    [BZOJ1330] Editing a Book
    [BZOJ5449] 序列
    [刷题] 搜索剪枝技巧
    [XJOI3529] 左右
    [CF920E] Connected Components?
    [第18届 科大讯飞杯 J] 能到达吗
    洛谷 P4779 【模板】单源最短路径(标准版)
    洛谷 P1175 表达式的转换
    pipioj 1291 中缀表达式转后缀表达式I
  • 原文地址:https://www.cnblogs.com/mcr-tcp/p/9170694.html
Copyright © 2011-2022 走看看