c++题解

迷路的牛牛

http://www.nowcoder.com/questionTerminal/fc72d3493d7e4be883e931d507352a4a

看到这题,我最先想到是时钟旋转的360度。

  • N: 0度
  • E: 90度
  • S: 180度
  • W: 270度

向左旋转L,即是-90
向右旋转R,即是+90
为了防止负数和值过大,需要 p   =   (p   +/-   90   +   360)   %   360

代码如下:

#include <iostream>

using namespace std;

int main() {

    int n, p = 0;
    char x;
    cin >> n;
    while (n--) {
        cin >> x;
        if (x == 'L')
            p = (p - 90 + 360) % 360;
        else
            p = (p + 90 + 360) % 360;
    }

    if (p == 0)
        cout << 'N' << endl;
    else if (p == 90)
        cout << 'E' << endl;
    else if (p == 180)
        cout << 'S' << endl;
    else
        cout << 'W' << endl;

    return 0;
}
全部评论

相关推荐

有趣的牛油果开挂了:最近这个阶段收到些杂七杂八的短信是真的烦
点赞 评论 收藏
分享
10-11 17:45
门头沟学院 Java
走吗:别怕 我以前也是这么认为 虽然一面就挂 但是颇有收获!
点赞 评论 收藏
分享
2 收藏 评论
分享
牛客网
牛客企业服务