问题描述

  兰顿蚂蚁,是于1986年,由克里斯·兰顿提出来的,属于细胞自动机的一种。

  平面上的正方形格子被填上黑色或白色。在其中一格正方形内有一只“蚂蚁”。
  蚂蚁的头部朝向为:上下左右其中一方。

  蚂蚁的移动规则十分简单:
  若蚂蚁在黑格,右转90度,将该格改为白格,并向前移一格;
  若蚂蚁在白格,左转90度,将该格改为黑格,并向前移一格。

  规则虽然简单,蚂蚁的行为却十分复杂。刚刚开始时留下的路线都会有接近对称,像是会重复,但不论起始状态如何,蚂蚁经过漫长的混乱活动后,会开辟出一条规则的“高速公路”。

  蚂蚁的路线是很难事先预测的。

  你的任务是根据初始状态,用计算机模拟兰顿蚂蚁在第n步行走后所处的位置。

输入格式

  输入数据的第一行是 m n 两个整数(3 < m, n < 100),表示正方形格子的行数和列数。
  接下来是 m 行数据。
  每行数据为 n 个被空格分开的数字。0 表示白格,1 表示黑格。

  接下来是一行数据:x y s k, 其中x y为整数,表示蚂蚁所在行号和列号(行号从上到下增长,列号从左到右增长,都是从0开始编号)。s 是一个大写字母,表示蚂蚁头的朝向,我们约定:上下左右分别用:UDLR表示。k 表示蚂蚁走的步数。

输出格式

  输出数据为两个空格分开的整数 p q, 分别表示蚂蚁在k步后,所处格子的行号和列号。

样例输入

5 6
0 0 0 0 0 0
0 0 0 0 0 0
0 0 1 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
2 3 L 5

样例输出

1 3

样例输入

3 3
0 0 0
1 1 1
1 1 1
1 1 U 6

样例输出

0 0

import java.util.*;
public class Main {static int []dx = {-1,0,1,0};static int []dy = {0,1,0,-1};static char[]d = {'U','R','D','L'}; static Map<Character,Integer> map = new HashMap<>();static int [][]g = new int [105][105];public static void main(String[] args) {Scanner sc = new Scanner(System.in);map.put('U',0);map.put('R',1);map.put('D',2);map.put('L',3);int n = sc.nextInt();int m = sc.nextInt();for(int i = 0;i < n;i ++) {for(int j = 0;j < m;j ++) {g[i][j] = sc.nextInt();}}int x = sc.nextInt();int y = sc.nextInt();char dir = sc.next().charAt(0);int k = sc.nextInt();for(int i = 1;i <= k;i ++) {if(g[x][y] == 1) {                      //黑格int p = (map.get(dir) + 1) % 4;       //右转90dir = d[p];g[x][y] = 0;}else {                                  //白格int p = (map.get(dir) + 3) % 4;     //左转90dir = d[p];                            g[x][y] = 1;}int idx = map.get(dir);x += dx[idx];y += dy[idx];}System.out.println(x+" "+y);}
}

兰顿蚂蚁 java模拟相关推荐

  1. LQ0213 兰顿蚂蚁【模拟】

    题目来源:蓝桥杯2014初赛 Java A组H题 题目描述 兰顿蚂蚁,是于 1986 年,由克里斯·兰顿提出来的,属于细胞自动机的一种. 平面上的正方形格子被填上黑色或白色.在其中一格正方形内有一只& ...

  2. 兰顿蚂蚁 java源代码_兰顿蚂蚁-Java

    兰顿蚂蚁,是于1986年,由克里斯·兰顿提出来的,属于细胞自动机的一种. 平面上的正方形格子被填上黑色或白色.在其中一格正方形内有一只"蚂蚁". 蚂蚁的头部朝向为:上下左右其中一方 ...

  3. 蓝桥杯 兰顿蚂蚁(模拟)

    历届试题 兰顿蚂蚁   时间限制:1.0s   内存限制:256.0MB 问题描写叙述 兰顿蚂蚁.是于1986年,由克里斯·兰顿提出来的,属于细胞自己主动机的一种. 平面上的正方形格子被填上黑色或白色 ...

  4. [蓝桥杯][2014年第五届真题]兰顿蚂蚁(模拟)

    题目描述 兰顿蚂蚁,是于1986年,由克里斯·兰顿提出来的,属于细胞自动机的一种. 平面上的正方形格子被填上黑色或白色.在其中一格正方形内有一只"蚂蚁". 蚂蚁的头部朝向为:上下左 ...

  5. 兰顿蚂蚁 蓝桥 模拟

    兰顿蚂蚁 [2014年第五届真题] 链接: link. 时间限制: 1Sec 内存限制: 128MB 题目描述 兰顿蚂蚁,是于1986年,由克里斯·兰顿提出来的,属于细胞自动机的一种. 平面上的正方形 ...

  6. 兰顿蚂蚁 java源代码_兰顿蚂蚁 (Java代码)41行代码

    解题思路: 注意事项: 参考代码:import java.util.Scanner; public class 蓝盾蚂蚁 { public static void main(String[] args ...

  7. 蓝桥杯 兰顿蚂蚁【模拟】

    题目链接 解题思路 这就是一道纯模拟题,主要就是根据题意写出蚂蚁在白格和黑格中不同的变化方式即可. 代码部分 #include <iostream> #include <stdio. ...

  8. 蓝桥杯-兰顿蚂蚁 (模拟)

    题目大意:根据题中所规定的方法,求出一定步数后,蚂蚁的位置 题目分析:本题属于常规的模拟题,就是只要根据题意把蚂蚁每步的移动方向,改变方格的颜色模拟出来即可. 我是将四个方向用整数表示,便于后期左转和 ...

  9. java兰顿蚂蚁解题思路_程序员面试金典 - 面试题 16.22. 兰顿蚂蚁(deque模拟)

    1. 题目 一只蚂蚁坐在由白色和黑色方格构成的无限网格上. 开始时,网格全白,蚂蚁面向右侧. 每行走一步,蚂蚁执行以下操作. (1) 如果在白色方格上,则翻转方格的颜色,向右(顺时针)转 90 度,并 ...

最新文章

  1. Selenium3自动化测试——22.使用DDT运行同一测试用例
  2. 配置Exchange 2010 服务器(二)Exchange2010证书配置
  3. Java 调用存储过程 返回结果集
  4. phpStudy mysql升级至5.7
  5. 如何成为一个卓越的程序员
  6. 编程范式,程序员的编程世界观(转)
  7. 表格占据整个页面_excel转换为pdf6个示例,在多个工作表、表格和空白页中进行选择...
  8. pcfg 自然语言处理_自然语言处理导航
  9. JQuery控制只能输入带二位小数的数字
  10. react学习笔记(9)表单控件
  11. NSNumber的使用
  12. oppo鸿蒙系统刷机包下载,OPPO A59st官方固件rom刷机包_OPPO A59st系统升级包下载
  13. 天线效应的原理及消除【转帖】
  14. 如何提高自制力?自制力差怎么办?
  15. 风雨30年,电子表格惊人跨越,excel用户:表格都能生成软件了
  16. Ubuntu-18.04安装
  17. 仿高德地图首页效果,简单代码实现
  18. MATLAB激活了还需要激活
  19. 虚拟机VMware上安装Fedora
  20. 【学习笔记】面向计算机科学的数理逻辑:系统建模与推理 (C1命题逻辑)

热门文章

  1. javascript选项卡嵌套的实现
  2. html5 3d在线网页,HTML5网页动画 3D旋转展示
  3. GTA IV免DVD破解补丁无法运行的解决办法
  4. linux制作多系统启动盘制作工具,制作U盘多系统(老毛桃WinPE,Ubuntu,MaxDOS,CDlinux,Parted Magic Linux)引导工具...
  5. Windows Phone8开发工具包简述(转载)
  6. 灰度图(IR 图)转成 RGB 图预览,画面出现光斑/黄斑问题解决
  7. 如何将svg转换为xaml
  8. vue element-ui引入第三方图标
  9. web服务器和应用服务器的区别与分析
  10. linux环境实现定时器----- itimerval实现