题目:

  兰顿蚂蚁,是于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

思路:

直接模拟,注意方向的变化。

代码如下:

#include<stdio.h>
#include<string.h>
#include<algorithm>
using namespace std;int map[101][101];
int n,m;
int x,y,k;
char t;
int xx,yy;int main()
{while(~scanf("%d %d",&n,&m)){for(int i=0; i<n; i++){for(int j=0; j<m; j++){scanf("%d",&map[i][j]);}}scanf("%d %d %c %d",&x,&y,&t,&k);while(k--){if(map[x][y]==0)//白 左转 ;{map[x][y]=1;//边为黑色;if(t=='L'){x++;t='D';}else if(t=='R'){x--;t='U';}else if(t=='U'){y--;t='L';}else if(t=='D'){y++;t='R';}}else if(map[x][y]==1)//黑,右转;{map[x][y]=0;//边为白色;if(t=='L'){x--;t='U';}else if(t=='R'){x++;t='D';}else if(t=='U'){y++;t='R';}else if(t=='D'){y--;t='L';}}}printf("%d %d\n",x,y);}return 0;
}
/*
5 6
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
2 3 L 5
*/

历届试题 兰顿蚂蚁 (模拟)相关推荐

  1. Java实现蓝桥杯历届试题兰顿蚂蚁

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

  2. [Java] 蓝桥杯PREV-33 历届试题 兰顿蚂蚁

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

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

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

  4. java兰顿蚂蚁解题思路_蓝桥试题-兰顿蚂蚁

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

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

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

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

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

  7. 蓝桥杯 兰顿蚂蚁(Bfs)

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

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

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

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

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

最新文章

  1. 为了控制Bean的加载我使出了这些杀手锏
  2. Eclipse导入Tomcat源码
  3. Linux学习笔记:安装python
  4. 客户端从config上获取配置
  5. 【转】[SharePoint 开发详解] 一个Feature中使用SPGridView的几个Tips
  6. 《网络规划设计师考试大纲》、《网络规划设计师教程》和《系统架构设计师教程》...
  7. LeetCode 722. CPP删除注释(逻辑题)
  8. 2016杭州ccpc
  9. 计算机与生命科学专业排名,2019软科世界一流学科排名发布,54个专业TOP10牛校榜单全给你...
  10. SLAM数据集(1)
  11. zabbix agent安装_OpenSUSE RPM安装 zabbix-agent
  12. 开源一个ReactNative日历控件
  13. Atitit.可视化编程jbpm6 的环境and 使用总结...
  14. python ctp接口_GitHub - keli/ctp-python: 穿透式监管版本CTP接口的Python封装
  15. 普通话测试软件推荐,练普通话的软件哪个好 专门练普通话的软件推荐
  16. matlab抠图数据,MATLAB抠图
  17. 阿卡迪亚大学计算机专业好考吗,申请阿卡迪亚大学究竟难不难?
  18. 类,多态,抽象类,接口
  19. 1688以图搜货接口,1688图片搜索接口,拍立淘接口,以图搜商品接口,图片上传搜索商品接口,按图搜索接口代码对接参数说明
  20. 自己搭建IOC容器(C#)(二)实现Ioc容器基本功能

热门文章

  1. scrapy爬取苏宁所有图书
  2. 宜信区块链实践-案例及探索
  3. web端的shader效果九 three.js里shader实现较平静的水面
  4. 基于python,mysql的学生打卡系统(班级在用)
  5. 最小生成树——洛谷并查集、口袋的天空
  6. lubuntu12.04将64G minSD卡 格式exFAT 转 FAT32
  7. Button按钮的用法
  8. 七大关键数据 移动安全迎来历史转折点
  9. 对于新手来说怎么画出愤怒的表情?该怎么画?
  10. 工作邮箱怎么注册?如何注册一个属于自己的工作邮箱?