题目描述:
/** 牛牛去犇犇老师家补课,出门的时候面向北方,但是现在他迷路了。 虽然他手里有一张地图,但是他需要知道自己面向哪个方向,请你帮帮他。 输入描述: 每个输入包含一个测试用例。 每个测试用例的第一行包含一个正整数,表示转方向的次数N(N<=1000)。 接下来的一行包含一个长度为N的字符串,由L和R组成,L表示向左转,R表示向右转。 输出描述: 输出牛牛最后面向的方向,N表示北,S表示南,E表示东,W表示西。 输入例子1: 3 LRR 输出例子1: E */思路如下:
简单模拟即可
代码如下:
#include<stdio.h> #include<iostream> using namespace std; //顺时针 char resTable[4] = {'N','E','S','W'}; int main(){ int N, cnt; scanf("%d", &N); getchar();//吃掉回车 for(int i=0; i<N; i++){ char c = getchar(); if(c!='L' && c!='R') return -1; if(c=='L'){ //逆时针转90等于顺时针转270 cnt+=3; } else if(c=='R'){ //顺时针转90 cnt+=1; } cnt%=4; } printf("%c", resTable[cnt]); return 0; }