【19年真題】迷路的牛牛

題目描述

牛牛去犇犇老師家補課,出門的時候面向北方,但是現在他迷路了。雖然他手裏有一張地圖,但是他需要知道自己面向哪個方向,請你幫幫他。
輸入描述
每個輸入包含一個測試用例。
每個測試用例的第一行包含一個正整數,表示轉方向的次數N(N <= 1000)。
接下來的一行包含一個長度爲N的字符串,由L和R組成,L表示向左轉,R表示向右轉。
輸出描述
輸出牛牛最後面向的方向,N表示北,S表示南,E表示東,W表示西。
示例

輸入 3 LRR
輸出 E

思路: 剛開始看時,有些沒讀懂,在紙上畫一畫就很清楚了
在這裏插入圖片描述
最開始在北,
左轉一次在西,兩次到南,三次到東,四次就到原位了
右轉一次到東,兩次到南,三次到西,四次到原位
所以,可以左轉則次數–,右轉++,四次爲一個週期(看餘數)
可以用switch…case語句來完成

#include<iostream>
#include<string>
using namespace std;
int main()
{
 int n = 0;
 string str;
 cin >> n >> str;
 int count = 0;
 for (int i = 0; i<n; i++)
 {
  if (str[i] == 'L') count--;
  else count++;
 }
 count %= 4;//4爲一個週期
 switch (count)
 {
 case -4:
 case 0:
  cout << 'N' << endl;
  break;
 case -3:
 case 1:
  cout << 'E' << endl;
  break;
 case -2:
 case 2:
  cout << 'S' << endl;
  break;
 case -1:
 case 3:
  cout << 'W' << endl;
  break;
 }
 return 0;
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章