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;
}
全部评论

相关推荐

咖啡馆守时的南瓜:这份简历是“大一新生硬凹资深后端”的典型反面教材,槽点离谱到能让面试官直接笑出声: ### 1. 「年龄+入学时间」和项目复杂度完全脱节,可信度直接归0 你2024年7月才入学(现在刚读了1年多),19岁的大一新生,能把Vue3+Spring Boot+ShardingSphere+K8s+AI这些技术全塞进两个项目里?别说实际开发,光把这些技术的文档看完都得半年——这不是“能力强”,是“把招聘JD里的技术词全抄过来造假”,明摆着没碰过实际代码
点赞 评论 收藏
分享
ddd7_:跟我一模一样,加微信的hr都同一个,扫码了白年书人查看图片
点赞 评论 收藏
分享
评论
2
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务