2017蓝桥杯省赛---java---A---1(迷宫)
生活随笔
收集整理的這篇文章主要介紹了
2017蓝桥杯省赛---java---A---1(迷宫)
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
題目描述
X星球的一處迷宮游樂場建在某個小山坡上。 它是由10x10相互連通的小房間組成的。房間的地板上寫著一個很大的字母。 我們假設玩家是面朝上坡的方向站立,則: L表示走到左邊的房間, R表示走到右邊的房間, U表示走到上坡方向的房間, D表示走到下坡方向的房間。X星球的居民有點懶,不愿意費力思考。 他們更喜歡玩運氣類的游戲。這個游戲也是如此!開始的時候,直升機把100名玩家放入一個個小房間內(nèi)。 玩家一定要按照地上的字母移動。迷宮地圖如下: ------------ UDDLUULRUL UURLLLRRRU RRUURLDLRD RUDDDDUUUU URUDLLRRUU DURLRLDLRL ULLURLLRDU RDLULLRDDD UUDDUDUDLL ULRDLUURRR ------------請你計算一下,最后,有多少玩家會走出迷宮? 而不是在里邊兜圈子。請?zhí)峤辉撜麛?shù),表示走出迷宮的玩家數(shù)目,不要填寫任何多余的內(nèi)容。如果你還沒明白游戲規(guī)則,可以參看一個簡化的4x4迷宮的解說圖: p1.png代碼實現(xiàn)
package TEST;class Main{public static void main(String[] args) {int ans=0;for(int i=0;i<10;i++)for(int j=0;j<10;j++)if(ok(i,j))ans++;System.out.println(ans);}static char[][] ch = new char[][] {"UDDLUULRUL".toCharArray(),"UURLLLRRRU".toCharArray(),"RRUURLDLRD".toCharArray(),"RUDDDDUUUU".toCharArray(),"URUDLLRRUU".toCharArray(),"DURLRLDLRL".toCharArray(),"ULLURLLRDU".toCharArray(),"RDLULLRDDD".toCharArray(),"UUDDUDUDLL".toCharArray(),"ULRDLUURRR".toCharArray()};static boolean ok(int x,int y) {int t=100;//這里的數(shù)字可以任意(但是不能過小)表示允許走多少步while(t-->0) {if(x<0 || x>=10 || y<0 || y>=10)return true;if(ch[x][y]=='U')x--;else if(ch[x][y]=='D')x++;else if(ch[x][y]=='L')y--;else if(ch[x][y]=='R')y++;}return false;}}答案
31
總結(jié)
以上是生活随笔為你收集整理的2017蓝桥杯省赛---java---A---1(迷宫)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 总抱怨电脑不好用电脑不好用了
- 下一篇: 二战题材军事电视剧《空战群英》明年 1