迷宫

题目描述

X星球的一处迷宫游乐场建在某个小山坡上。

它是由10x10相互连通的小房间组成的。

房间的地板上写着一个很大的字母。

我们假设玩家是面朝上坡的方向站立,则:

L表示走到左边的房间,

R表示走到右边的房间,

U表示走到上坡方向的房间,

D表示走到下坡方向的房间。

X星球的居民有点懒,不愿意费力思考。

他们更喜欢玩运气类的游戏。这个游戏也是如此!

开始的时候,直升机把100名玩家放入一个个小房间内。

玩家一定要按照地上的字母移动。

迷宫地图如下:

UDDLUULRUL

UURLLLRRRU

RRUURLDLRD

RUDDDDUUUU

URUDLLRRUU

DURLRLDLRL

ULLURLLRDU

RDLULLRDDD

UUDDUDUDLL

ULRDLUURRR

请你计算一下,最后,有多少玩家会走出迷宫?

而不是在里边兜圈子。

请提交该整数,表示走出迷宫的玩家数目,不要填写任何多余的内容。

如果你还没明白游戏规则,可以参看一个简化的4x4迷宫的解说图:p1.png

public class Main
{
static char[][] a = new char[10][10];
static boolean[][] b = new boolean[10][10];
static int cnt = 0;
public static void main(String[] args) {
String str="UDDLUULRULUURLLLRRRURRUURLDLRDRUDDDDUUUUURUDLLRRUUDURLRLDLRLULLURLLRDURDLULLRDDDUUDDUDUDLLULRDLUURRR";
for (int i = 0; i < 10; i++) {
for (int j = 0; j < 10; j++) {
a[i][j] = str.charAt(i*10+j);
}
} for (int i = 0; i < 10; i++) {
for (int j = 0; j < 10; j++) {
int x = i;
int y = j;
init();
while (true) {
if (x < 0 || x > 9 || y < 0 || y > 9) {
cnt++;
break;
}
if (b[x][y] == true) {
break;
}
b[x][y] = true;
switch (a[x][y]) {
case 'U':
x -= 1;
break;
case 'D':
x += 1;
break;
case 'L':
y -= 1;
break;
case 'R':
y += 1;
break;
default:
break;
}
}
}
}
System.out.println(cnt);
}
private static void init() {
// TODO Auto-generated method stub
for (int i = 0; i < 10; i++) {
for (int j = 0; j < 10; j++) {
b[i][j] = false;
}
}
}
}

最新文章

  1. iis6|iis7|配置URLRewriter|64位操作系统下|.net2.0|.net4.0|配置URLRewriter|Web.config配置详情
  2. [web安全]Web应用漏洞攻击分析与防范
  3. Hosting socket.io WebSocket apps in IIS using iisnode
  4. iOS开发小技巧--纯代码自定义cell
  5. php课程---Json格式规范需要注意的小细节
  6. HTTP状态码大全(转自wiki)
  7. [转] GIS二次开发(C#+AE)
  8. NGINX(二)内存池
  9. tar.xz 文件如何解压
  10. Linux--安装过程中的根文件系统的分析
  11. ==和equals的异同
  12. Hibernate笔记一:HIbernate配置-HelloWorld
  13. 爬虫之pyspider
  14. steps/train_lda_mllt.sh
  15. docker部署rabbitMQ
  16. IScroll的那些事——内容不足时下拉刷新
  17. STM32 一直进入串口接收中断
  18. GPSCamera隐私声明
  19. javascript原型链中 this 的指向
  20. Struts2学习笔记二:开发流程

热门文章

  1. C#实现局域网聊天 通讯 Socket TCP 多人
  2. API 网关 Kong
  3. robotframework利用selenium2Library实现无界面自动化关键字
  4. linux常用命令---rpm软件包管理
  5. PG 慢日志分析工具pgbadger
  6. Spring JSR-250 注释
  7. CF838A
  8. Java-KTVByLinkedList模拟点歌工具
  9. SQL面试50题
  10. web自动化之alert弹窗操作