【牛客网】迷途的牛牛 C++
程序员文章站
2024-03-19 15:11:04
...
题目描述
思路1 复杂版
4个左转可以抵消
4个右转可以抵消
1个左转和一个右转可以抵消
#include<iostream>
#include<string>
using namespace std;
int main() {
int n;
string str;
cin >> n >> str;
int l = 0;//L的个数
int r = 0;//R的个数
for (int i = 0; i < n; i++) {
str[i] == 'L' ? l++ : r++;
}
l %= 4;//4个L抵消
r %= 4;//4个R抵消
l = (l - r) >= 0 ? (l - r) : (l - r) + 4;//L与R合并,取正
switch (l) {
case 3:cout << "E"; break;
case 2:cout << "S"; break;
case 1:cout << "W"; break;
case 0:cout << "N"; break;
}
system("pause");
}
思路2 简化版
只看左转次数,右转直接和左转抵消
#include<iostream>
#include<string>
using namespace std;
int main() {
int n;
string str;
cin >> n >> str;
int l = 0;//L的个数
for (int i = 0; i < n; i++) {
str[i] == 'L' ? l++ : l--;
}
l %= 4;//4个L抵消
l = l >= 0 ? l : l + 4;//L取正
switch (l) {
case 3:cout << "E"; break;
case 2:cout << "S"; break;
case 1:cout << "W"; break;
case 0:cout << "N"; break;
}
}
上一篇: [栈] 表达式求值-C语言-多位数求值
下一篇: 栈的应用--简单计算器转换知识
推荐阅读
-
【牛客网】迷途的牛牛 C++
-
牛客网 wyh的矩阵(找规律) + wyh的迷宫(bfs)
-
饥饿的小易(牛客网)
-
牛客网-神奇的口袋【dp】
-
牛客网—丢失的三个数
-
牛客网刷题java之在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。输入这样的一个二维数组和一个整数,判断数组中是否含有该整数
-
牛客网暑期ACM多校训练营(第三场)# E-Sort String (next数组的应用)H Diff-prime Pairs
-
牛客网-剑指offer[编程题]二进制中1的个数 js详解
-
北京大学复试上机 坠落的蚂蚁(牛客网)王道机试指南习题2.11
-
【牛客网】删除字符串中出现次数最少的字符后的字符串