zoukankan      html  css  js  c++  java
  • 迷宫

    /*
    标题:迷宫
    
    X星球的一处迷宫游乐场建在某个小山坡上。
    它是由10x10相互连通的小房间组成的。
    
    房间的地板上写着一个很大的字母。
    我们假设玩家是面朝上坡的方向站立,则:
    L表示走到左边的房间,
    R表示走到右边的房间,
    U表示走到上坡方向的房间,
    D表示走到下坡方向的房间。
    
    X星球的居民有点懒,不愿意费力思考。
    他们更喜欢玩运气类的游戏。这个游戏也是如此!
    
    开始的时候,直升机把100名玩家放入一个个小房间内。
    玩家一定要按照地上的字母移动。
    
    迷宫地图如下:
    ------------
    UDDLUULRUL
    UURLLLRRRU
    RRUURLDLRD
    RUDDDDUUUU
    URUDLLRRUU
    DURLRLDLRL
    ULLURLLRDU
    RDLULLRDDD
    UUDDUDUDLL
    ULRDLUURRR
    ------------
    
    请你计算一下,最后,有多少玩家会走出迷宫? 
    而不是在里边兜圈子。
    
    请提交该整数,表示走出迷宫的玩家数目,不要填写任何多余的内容。
    
    如果你还没明白游戏规则,可以参看一个简化的4x4迷宫的解说图:
    p1.png
    */
    package test;
    
    import java.util.Arrays;
    
    public class 迷宫 {
        static int count=0;
        static int[][] check=new int[10][10];
        static char[][] arr;
        public static void main(String arg[]){
            arr=new char[][]{{'U','D','D','L','U','U','L','R','U','L'},
                                      {'U','U','R','L','L','L','R','R','R','U'},
                                      {'R','R','U','U','R','L','D','L','R','D'},
                                      {'R','U','D','D','D','D','U','U','U','U'},
                                      {'U','R','U','D','L','L','R','R','U','U'},
                                      {'D','U','R','L','R','L','D','L','R','L'},
                                      {'U','L','L','U','R','L','L','R','D','U'},
                                      {'R','D','L','U','L','L','R','D','D','D'},
                                      {'U','U','D','D','U','D','U','D','L','L'},
                                      {'U','L','R','D','L','U','U','R','R','R'}};
            for(int i=0;i<10;i++){
                for(int j=0;j<10;j++){
                    for(int k=0;k<check.length;k++){
                           Arrays.fill(check[k], 0);}
                    find(i,j);
                }
            }
             System.out.print(count);
        } 
        public static void find(int i,int j){
            while(true){    
                if(i<0||i>9||j<0||j>9){//退出条件1:走出方格 2:回到走过的方格
                    count++;
                    break;
                    }
                if(check[i][j]==1){
                    break;
                    }
                check[i][j]=1;
                switch(arr[i][j]){
                case 'U': i--;break;
                case 'L': j--;break;
                case 'R': j++;break;
                case 'D': i++;break;
                default: break;
                }
            }
            return;
        }
    
    }
  • 相关阅读:
    MySQL-简述
    APP测试-Solo Pi工具-性能测试
    APP测试-弱网测试
    iOS 认识runtime 中的三个指针 isa , IMP , SEL
    iOS 什么是函数式编程
    iOS 根据农历日期 获取当前的农历年份 即 干支纪年法算农历年
    iOS 当公司有人向你提问,你该如何应对?
    Mac 环境 下使用Charles 抓包Http/Https请求
    iOS iPhone X 适配启动图片
    iOS11 仿大标题 导航栏
  • 原文地址:https://www.cnblogs.com/ljs-666/p/8595607.html
Copyright © 2011-2022 走看看