首页 > 试题广场 >

迷路的牛牛

[编程题]迷路的牛牛
  • 热度指数:47797 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32M,其他语言64M
  • 算法知识视频讲解
牛牛去犇犇老师家补课,出门的时候面向北方,但是现在他迷路了。虽然他手里有一张地图,但是他需要知道自己面向哪个方向,请你帮帮他。

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


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

输入

3
LRR

输出

E
var n=parseInt(readline())
var arr1=readline()
var arr2=[]
var arr3=["N","E","S","W"]
var turnIndex=0
for(let i=0;i<n;i++){
    if(arr1[i]=="L"){
        turnIndex-=1
        if(turnIndex==-1){
            turnIndex=3
        }
    }else if(arr1[i]=="R"){
        turnIndex+=1
        if(turnIndex==4){
            turnIndex=0
        }
    }
}
print(arr3[turnIndex])


发表于 2020-08-23 10:01:31 回复(0)
JavaScript(Node) 😎题目:网易-迷路的牛牛
//出门面朝北,let directionArr = ["N","E","S","W"]
//遍历turn, turn[i]='R' =>cnt++
//return directionArr[cnt取模]
const readline = require('readline');
const rl = readline.createInterface({
    input: process.stdin,
    output: process.stdout
})
let inArr = []
rl.on('line',line=>{ 
    if(!line) return
    inArr.push(line.trim())
    if(inArr.length == 2){
        let directionArr = ["N","E","S","W"],
            turn = inArr[1],
            cnt = 0
        for (let i = 0; i < turn.length; i++) {
            turn[i]=='R'? cnt++ :cnt--
        }
        // 负数取模:先化为正数取模再取反N-0 E-1 S-2 W-3
        cnt = (cnt%4+4)%4;
        console.log(directionArr[cnt%4])  
    }
})


发表于 2020-02-25 18:16:33 回复(0)
function fun(N,STR) { var str = STR.split(''); var L = 0; var R = 0; for (i = 0; i < N; i++) { if (str[i] == 'L') {  L += 1;
       } else {  R += 1;
        }
    } switch ((L - R) % 4) { case 0: console.log('N') break; case -1: console.log('E') break; case -2: console.log('S') break; case -3: console.log('W') break; case 1: console.log('W') break; case 2: console.log('S') break; case 3: console.log('E') break;
  }
} fun(3,'LRR');

编辑于 2019-09-15 23:17:37 回复(0)
23
发表于 2018-08-11 11:34:52 回复(0)
function der(time,go){
    var arr = ['N','E','S','W'];
    var count = 0;
    for(var i = 0; i<time;i++){
        if(go.charAt(i) == 'L'){
            count --;
        }else if('R'){
            count ++;
        }
    }
    if(count%4 > 0){
        count = count%4;
    }else{
        count = count %4 + 4;
    }
    switch(count){
        case 0:
            document.write('N');
            break;
        case 1:
            document.write('E');
            break;
        case 2:
            document.write('S');
            break;
        case 3:
            document.write('W');
            break;
        default:
            break;
    }
}
der(3,'LRR');
发表于 2018-06-01 17:44:43 回复(0)

热门推荐

通过挑战的用户

查看代码