WY48. 迷路的牛牛
描述
牛牛去犇犇老师家补课,出门的时候面向北方,但是现在他迷路了。虽然他手里有一张地图,但是他需要知道自己面向哪个方向,请你帮帮他。输入描述
每个输入包含一个测试用例。输出描述
输出牛牛最后面向的方向,N表示北,S表示南,E表示东,W表示西。示例1
输入:
3 LRR
输出:
E
C 解法, 执行用时: 1ms, 内存消耗: 376KB, 提交时间: 2020-11-27
#include <stdio.h> #include <stdlib.h> #include <math.h> #include <string.h> int main() { int n; char a[1000]; scanf("%d",&n); scanf("%s",a); int l=0; int r=0; for(int i=0;i<n;i++) { if(a[i]=='L') l++; else r++; } if((l-r)%4==0)printf("N"); else { if((l-r)>0) { switch ((l-r)%4) { case 1: printf("W"); break; case 2: printf("S"); break; case 3: printf("E"); break; } } else { switch ((r-l)%4) { case 1: printf("E"); break; case 2: printf("S"); break; case 3: printf("W"); break; } } } return 0; }
C 解法, 执行用时: 2ms, 内存消耗: 300KB, 提交时间: 2019-10-27
#include <stdio.h> int main() { int n; char str[1000]; scanf("%d%s", &n ,str); int i; int dir = 0; for(i=0;i<n;i++){ if(str[i]=='L'){ if(dir == 0){ dir = 3; } else { dir--; } } else if(str[i]=='R') { if(dir == 3){ dir = 0; } else { dir++; } } } switch(dir) { case 0: printf("N"); break; case 1: printf("E"); break; case 2: printf("S"); break; case 3: printf("W"); break; } return 0; }