题目 1429: 蓝桥杯2014年第五届真题-兰顿蚂蚁
时间限制: 1Sec 内存限制: 128MB 提交: 6100 解决: 2797
题目描述

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

思路和代码

思路:直接模拟

m, n = [int(x) for x in input().split()]
ls = list()
for _ in range(m):ls.append([int(x) for x in input().split()])x, y, s, k = [x for x in input().split()]
x = int(x)
y = int(y)
k = int(k)
# 设上右下左分别是0123,
if s == "U":s = 0
elif s == "R":s = 1
elif s == "D":s = 2
elif s == "L":s = 3for i in range(k):if ls[x][y] == 1:s = (s+1)%4ls[x][y] = 0else:s = (s-1)%4ls[x][y] = 1if s == 0:x -= 1elif s == 1:y += 1elif s == 2:x += 1elif s == 3:y -= 1print("{:d} {:d}".format(x, y))

蓝桥杯-兰顿蚂蚁(python)相关推荐

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

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

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

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

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

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

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

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

  5. 兰顿蚂蚁python实现

    兰顿蚂蚁python实现 文章目录 前言 一.兰顿蚂蚁是什么? 二.大致思路 三.实现步骤 1.建立黑白矩阵 2.开始绘制 3.填充函数 4.程序展示 四.结果展示 总结 前言 最近了解到了细胞自动机 ...

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

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

  7. [转载] LeetCode题解(面试16.22):兰顿蚂蚁(Python)

    参考链接: Python | 兰顿的蚂蚁 题目:原题链接(中等) 标签:数组 解法时间复杂度空间复杂度执行用时Ans 1 (Python) O ( K ) O(K) O(K) O ( K ) O(K) ...

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

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

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

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

最新文章

  1. CentOS6.9编译安装postgresql和php的pdo_pgsql,pgsql扩展
  2. Sprites实现翻页按钮,圆角,宽度不固定
  3. 通过Cookie实现客户端与服务端会话的维持;
  4. .NET Core 返回结果统一封装
  5. 数据库PowerDesigner创建图表(模块表分类)
  6. windos dos命令
  7. cakephp 1.3 Views
  8. ssas表格模型 权限控制_如何在SQL Server 2016中自动执行SSAS表格模型处理
  9. php和python-现在自学php和python那个合适?
  10. 半车模型悬架系统的simulink仿真
  11. 1183 连接字符串
  12. Struts2远程命令执行漏洞
  13. 机考[51 - 60]
  14. 【C++】accumulate函数的基本使用
  15. PTS,SLM,Filter三种降低PAPR方法的matlab仿真
  16. 如何下载MySQL各个版本
  17. Lind.DDD.Utils.HttpHelper关于对HttpClient的正确使用
  18. 数值计算练习 LU分解(杜里特尔和克洛特分解)
  19. windows server 2008 R2、windows 10、windows server 2012 R2安装windows media player
  20. vscode无法找到python安装库

热门文章

  1. adb unlock
  2. 为什么网站服务器不存在了,最可能的原因: 指定的目布医无名录或文件在 Web 服务器上不存在...
  3. 【论文翻译】YOLOv4: Optimal Speed and Accuracy of Object Detection
  4. 在线数值计算 wolframalpha
  5. java第四方聚合支付,2017年第四方和第三方聚合支付平台排名
  6. 新概念第一册听力笔记
  7. 智能运维案例系列 | 新网银行 X 袋鼠云:银行核心业务系统日志监控平台建设实践...
  8. 如何禁用Mac系统的Spotlight
  9. 网页版无需客户端下载视频
  10. PHP+MySQL手工注入