题目来源:蓝桥杯2014初赛 Java A组H题

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

平面上的正方形格子被填上黑色或白色。在其中一格正方形内有一只"蚂蚁"。

蚂蚁的头部朝向为:上下左右其中一方。

蚂蚁的移动规则十分简单:

若蚂蚁在黑格,右转 90 度,将该格改为白格,并向前移一格;

若蚂蚁在白格,左转 90 度,将该格改为黑格,并向前移一格。

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

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

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

输入描述
输入数据的第一行是 m,n 两个整数 (3<m,n<100),表示正方形格子的行数和列数。

接下来是 m 行数据。

每行数据为 n 个被空格分开的数字。0 表示白格,1 表示黑格。

接下来是一行数据:x,y,s,k, 其中 x,y 为整数,表示蚂蚁所在行号和列号(行号从上到下增长,列号从左到右增长,都是从 0 开始编号)。s 是一个大写字母,表示蚂蚁头的朝向,我们约定:上下左右分别用:U D L R 表示。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

问题分析
模拟题。

AC的C++语言程序如下:

/* LQ0213 兰顿蚂蚁 */#include <iostream>using namespace std;const int N = 100;
int b[N][N];
int x, y, k;
char s;void turn1()
{switch(s) {case 'U':s = 'R', y++;break;case 'R':s = 'D', x++;break;case 'D':s = 'L', y--;break;case 'L':s = 'U', x--;break;}
}void turn2()
{switch(s) {case 'U':s = 'L', y--;break;case 'R':s = 'U', x--;break;case 'D':s = 'R', y++;break;case 'L':s = 'D', x++;break;}
}void judge()
{if (b[x][y] == 1) {b[x][y] = 0;turn1();} else if (b[x][y] == 0) {b[x][y] = 1;turn2();}
}int main()
{int m, n;cin >> m >> n;for (int i = 0; i < m; i++)for (int j = 0; j < n; j++)cin >> b[i][j];cin >> x >> y >> s >> k;while (k--)judge();cout << x << " " << y;return 0;
}

LQ0213 兰顿蚂蚁【模拟】相关推荐

  1. [蓝桥杯][2014年第五届真题]兰顿蚂蚁-模拟

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

  2. 历届试题 兰顿蚂蚁 (模拟)

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

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

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

  4. 程序员面试金典 - 面试题 16.22. 兰顿蚂蚁(deque模拟)

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

  5. 历届试题 核桃的数量(3个数的最小公倍数),翻硬币(贪心),买不到的数目(在范围内暴力,找范围,最小公倍数是上界,最小的数是下界),兰顿蚂蚁(dfs,模拟)

    历届试题 核桃的数量 问题描述 小张是软件项目经理,他带领3个开发组.工期紧,今天都在加班呢.为鼓舞士气,小张打算给每个组发一袋核桃(据传言能补脑).他的要求是: 各组的核桃数量必须相同 各组内必须能 ...

  6. 蓝桥杯:兰顿蚂蚁(简单模拟)

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

  7. 2014年蓝桥杯省赛:兰顿蚂蚁(简单模拟)

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

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

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

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

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

最新文章

  1. gcc编译参数[转]
  2. 关于session为什么要持久化?
  3. 什么是ERP (转载自百度知道)
  4. C#拾遗系列(8):异常
  5. 洛谷 P4011 孤岛营救问题【最短路+分层图】
  6. CentOS下安装Memcached,Linux下安装Memcached,centos下安装memcached,linux下安装memcached...
  7. Python抓取豆瓣电影详情并提取信息
  8. Spring-tx-TransactionInterceptor类
  9. android 4.4 webview 上传,android使用webview上傳文件(適配4.4以上系統)
  10. Spring boot入门(三):集成AdminLTE(Freemarker),结合generate代码生成器,利用DataTable和PageHelper分页...
  11. 我妈给我介绍对象了,我大学还没毕业呢,先在婚介市场也这么卷了的吗?【Python爬虫实战:甜蜜蜜婚介数据采集】
  12. 北京邮电大学计算机院专业录取分数线,2017年北京邮电大学计算机科学与技术专业在北京录取分数线...
  13. 【css】让img图片居中显示
  14. python 应用thrift---- thrift的监控fb303 - import coding_dog ---- by 坚毅的刀刀 - 博客大巴...
  15. 使用grub启动虚拟软盘的方法
  16. is 简写 缩写_为什么e.g.是for example的缩写?它和i.e.是什么关系?
  17. 微信公众平台消息接口开发(20)图片识别之人脸识别
  18. 亲自操作,有用的win10遇到“已禁用输入法”无法启动中文输入法的问题-提示已禁用输入法解决方案
  19. 腾讯城市安全运营中心思考与实践:“1151”框架为智慧城市安全运营提供新方式
  20. 《娱乐至死》毁掉我们的,恰恰是我们所热爱的东西!

热门文章

  1. 程序员跳槽找工作避坑指南
  2. layui怎么表格中显示图片
  3. EBYTE E103-W02 WIFI模块配置总结(TCP+UDP+HTTP+云透传)
  4. twitter客户端_3个用于Linux命令行的Twitter客户端
  5. 物联网云平台的优势有哪些
  6. Eclipse 报错 Cannot nest 'FisRptWeb/src/conf' inside library 'FisRptWeb/src'
  7. Android仿Google+,AppFrame框架搭建
  8. 2021年12月电子学会青少年软件编程(图形化)等级考试试卷(一级)答案解析
  9. 【硬货】vue全家桶+Echarts+百度地图,搭建数据可视化系统
  10. 数据结构之回文专题(Palindrome)