牛客题解 | 迷路的牛牛

题目

题目链接

题目难度:一星
考察点:模拟

方法:模拟

  1. 分析:
    按照题意模拟即可,判断向左走了多少步,向右走了多少步,然后得出向左向右走的步数的差值,然后对4进行取模,为什么对4取模呢?是因为一共有NSWE四个方向,所以需要对4取模,如果取模之后得到的结果ans是负数,那么ans=ans+4,因为向右走了1步等价于向左走了三步,然后根据相差的步数来判断到底是哪个方向,为了方便记录向左ans++,向右ans--:
    算法实现:
    (0). 遍历字符串s,然后如果当前字符为'L',那么ans++,否则ans--。
    (1). 将ans对4取模,保证ans最后为区间属于[0,3]。
    (2). 判断最后牛牛面向的方向:
    如果ans = 0,那么牛牛最后面向的方向为N
    如果ans = 1,那么牛牛最后面向的方向为W
    如果ans = 2,那么牛牛最后面向的方向为S
    如果ans = 3,那么牛牛最后面向的方向为E

  2. 复杂度分析:
    时间复杂度:O(n)
    空间复杂度:O(1)

  3. 代码:

#include <bits stdc++.h>
using namespace std;
int main() {
    int n; cin&gt;&gt;n;
    string s; cin&gt;&gt;s;
    int ans = 0;
    for(int i=0; i</bits>
posted @ 2025-03-11 10:41  wangxiaoxiao  阅读(10)  评论(0)    收藏  举报