牛客--迷路的牛牛C++--为程序媛之崛起而CODE

@Ada_Chow(网易–迷路的牛牛)

迷路的牛牛–C++

牛牛去犇犇老师家补课,出门的时候面向北方,但是现在他迷路了。虽然他手里有一张地图,但是他需要知道自己面向哪个方向,请你帮帮他。

输入描述

  1. 每个输入包含一个测试用例。
  2. 每个测试用例的第一行包含一个正整数,表示转方向的次数N(N<=1000)。
  3. 接下来的一行包含一个长度为N的字符串,由L和R组成,L表示向左转,R表示向右转。

输出描述

输出牛牛最后面向的方向,N表示北,S表示南,E表示东,W表示西。

示例1

输入
3
LRR
输出
E

C++代码

#include<iostream>
#include<string>

using namespace std;

int main()
{
	int i,n,count=0;		//i--loop times;n--change direction times;count--number of L
	cin>>n;	
	string s;
	cin>>s;
	for(i = 0;i < n;i++)
	{
		if(s[i] == 'L')
		{
			count = count+1;
		}
	}
	if(n%4 == 1)
	{
		if(count%2 == 1)
			cout<<'W'<<endl;
		else
			cout<<'E'<<endl;
	}
	else if(n%4 == 2)
	{
		if(count%2 == 1)
			cout<<'N'<<endl;
		else
			cout<<'S'<<endl;
	}
	else if(n%4 == 3)
	{
		if(count%2 == 1)
			cout<<'E'<<endl;
		else
			cout<<'W'<<endl;
	}
	else
	{
		if(count%2 == 1)
			cout<<'S'<<endl;
		else
			cout<<'N'<<endl;
	}
	return 0;
}

无图言**

一开始,牛牛是面朝北哒,根据上北下南左西右东的地理常识,当牛牛向左拐了以后是面向西哒
牛牛先向左拐,此时面向西;面向西的情况下向右拐,此时面向北
由上一张实验截图我们可以推出,牛牛在面向北后向右拐,此时牛牛面向东。
。。。。。。

思路分享

高中时学习的数学归纳法在这里可以帮点小忙。
结合代码内容,咱们定义牛牛总共七拐八拐拐了n次,其中向左拐的次数为count次,向右拐的次数为n-count次。
当n = 1时,count = 0时,R——>E; //N–>R–>E
count = 1时,L——>W; //N–>L–>W
当n = 2时,count = 0时,RR——>S; //E–>R–>S
count = 1时,LR——>N,RL——>N; //W–>R–>N; E–>L–>N
count = 2时,LL——>S; //W–>L–>S
当n = 3时,count = 0时,RRR——>W; //(RR)–>S–>R–>W
count = 1时,LRR——>E,RLR——>E,RRL——>E; //N–>R–>E;N–>R–>E;S–>L–>E
count = 2时,LLR——>W,LRL——>W,RLL——>W; //S–>R–>W;N–>L–>W;N–>L–>W
count = 3时,LLL——>E; //S–>L–>E
当n = 4时,count = 0时,RRRR——>N; //W–>R–>N
count = 1时,LRRR——>S,RLRR——>S; //E–>R–>S;E–R-->S
RRLR——>S,RRRL——>S; //E–>R–>S;W–>L–>S
count = 2时,LLRR——>N,LRLR——>N; //W–>R–>N;W–>R–>N
LRRL——>N,RLRL——>N; //E–>L–>N;E–>L–>N
RRLL——>N,RLLR——>N; //E–>L–>N;W–>R–>N
count = 3时,LLLR——>S, LLRL——>S; //E–>R–>S;W–>L–>S
LRLL——>S,RLLL——>S; //W–>L–>S;W–>L–>S
count = 4时,LLLL——>N; //E–>L–>N
当n = 5时,count = 0时,RRRRR——>E; //N–>R–>E
count = 1时,RRRRL——>W;… //N–>L–>W



根据以上的规律,可以推导出某公式:
n=1时,count为奇数,输出W;否则输出E。
n=2时,count为奇数,输出N;否则输出S。
n=3时,count为奇数,输出E;否则输出W。
n=4时,count为奇数,输出S;否则输出N。
n=5时,情况同n=1。

所以,
步骤一:
判断转向次数
n%41时,为第一种情况;
n%4
2时,为第二种情况;
n%43时,为第三种情况;
n%4
4时,为第四种情况。
步骤二
根据步骤一的结果,判断count奇偶性,从而得到输出结果。

1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 、4下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合;、下载 4使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合;、 4下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。
1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.m或d论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 、1资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值