欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

【牛客网】迷途的牛牛 C++

程序员文章站 2024-03-19 15:11:04
...

题目描述

【牛客网】迷途的牛牛 C++

思路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;
	}
}
相关标签: 牛客网