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

题目描述
在这里插入图片描述

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

解题思路:
根据题目模拟,题目并没有说会越界,所以我们不用考虑越界

代码如下:

#include <iostream>
using namespace std;
const int N = 110;
int mp[N][N];
int nx, ny;
char c;
int sn;
int dx[] = {0, -1, 0, 1}, dy[] = {-1, 0, 1, 0};
//逆时针
int main() {int n, m;int x, y, ns;int state;char c;cin >> n >> m;for (int i = 0; i < n; i++)for (int j = 0; j < m; j++) {cin >> mp[i][j];}cin >> x >> y;cin >> c;cin >> sn;if (c == 'L')//逆时针state = 0;else if (c == 'U')state = 1;else if (c == 'R')state = 2;else if (c == 'D')state = 3;while (sn--) {if (mp[x][y] == 1)state = (state + 1) % 4;else {if (state == 0)state = 3;elsestate = state - 1;}mp[x][y] = !mp[x][y];x = x + dx[state];y = y + dy[state];}cout << x << " " << y << endl;return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/311355.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

.NET Core开发实战(第17课:为选项数据添加验证:避免错误配置的应用接收用户流量)--学习笔记...

17 | 为选项数据添加验证&#xff1a;避免错误配置的应用接收用户流量三种验证方法1、直接注册验证函数2、实现 IValidateOptions3、使用 Microsoft.Extensions.Options.DataAnnotations延用上一节代码需要添加验证的时候不能用 Configure&#xff0c;而用 AddOptions 方法//se…

[蓝桥杯][2014年第五届真题]分糖果-模拟

题目描述 问题描述 有n个小朋友围坐成一圈。老师给每个小朋友随机发偶数个糖果&#xff0c;然后进行下面的游戏&#xff1a; 每个小朋友都把自己的糖果分一半给左手边的孩子。 一轮分糖后&#xff0c;拥有奇数颗糖的孩子由老师补给1个糖果&#xff0c;从而变成偶数。 反复进…

分支程序与循环程序设计-汇编实验二

DATA SEGMENT ;定义数据段BUF DB -1, 20, 3, 30, -5, 15, 100, -54, 0, 4, 78, 99DB -12, 32, 3, 23, -7, 24, 60,-51 ;定义比较大小的数据DATA ENDS ;数据段结束ESEG SEGMENT ;定义附加段RES1 DB 0;定义结果存放区RES2 DB 0RES3 DB 0 ESEG ENDS ;附加段结束CODE SEGMENT ;定义…

[蓝桥杯][2013年第四届真题]剪格子-dfs

题目描述 历届试题 剪格子 时间限制&#xff1a;1.0s 内存限制&#xff1a;256.0MB 问题描述 如下图所示&#xff0c;3 x 3 的格子中填写了一些整数。 我们沿着图中的星号线剪开&#xff0c;得到两个部分&#xff0c;每个部分的数字和都是60。 本题的要求就是请你编程判定&a…

使用有序GUID:提升其在各数据库中作为主键时的性能

原文出处&#xff1a;https://www.codeproject.com/articles/388157/guids-as-fast-primary-keys-under-multiple-database &#xff0c;避免今后忘记了再去阅读原英文。【】是感觉理解有问题的地方正确的使用有序GUID在大部分数据库中可以获得和 整型作为主键 时相媲美的性能。…

串操作指令及其应用程序的设计与调试运行——汇编实验四 用8086汇编完成下题 编制一程序,从键盘输入两个长度不同的字符串,设字符串长度小于25个字符。要求在屏幕上以右边对齐的形式显示出

文章目录实验目的和内容实验要求和步骤实现右对齐以下为源码&#xff1a;方法一方法二方法三测试一——字符串的输入输出测试二——改进测试三——改进测试四——改进实验目的和内容 实验要求和步骤 实现右对齐 以下为源码&#xff1a; 方法一 DATA SEGMENTNUM EQU 25BUF1 D…

python 语音播放_基于Python编写的语音播放软件

单位经常使用广播进行临时事项的通知(将文字转换为语音然后通过功放广播)&#xff0c;但是市面上多数语音播放软件都是收费的&#xff0c;要么发音失真&#xff0c;要么不够稳定——经常出现莫名其妙的故障&#xff0c;容易给工作带来被动。学Python这么久不如动手写一款自己的…

[蓝桥杯][历届试题]回文数字-暴力枚举

题目描述 观察数字&#xff1a;12321&#xff0c;123321 都有一个共同的特征&#xff0c;无论从左到右读还是从右向左读&#xff0c;都是相同的。这样的数字叫做&#xff1a;回文数字。 本题要求你找到一些5位或6位的十进制数字。满足如下要求&#xff1a; 该数字的各个数位之…

selenium.common.exceptions.WebDriverException: Message: ‘chromedriver‘ executable needs to bein PATH

使用Selenium模拟浏览器访问淘宝首页&#xff0c;出现报警 from selenium import webdriver import timebrowser webdriver.Chrome() browser.get(https://www.taobao.com) time.sleep(2) print(browser.page_source)selenium.common.exceptions.WebDriverException: Message…

【朝夕技术专刊】Core3.1WebApi_Filter详解

欢迎大家阅读《朝夕Net社区技术专刊》第4期我们致力于.NetCore的推广和落地&#xff0c;为更好的帮助大家学习&#xff0c;方便分享干货&#xff0c;特创此刊&#xff01;很高兴你能成为忠实读者&#xff0c;文末福利不要错过哦&#xff01;01PARTCoreWebApi五大Filter1. Autho…

统计学习方法 pdf_机器学习基础教材-《统计学习与数据分析介绍》免费pdf分享...

本书介绍本入门级统计教科书主要讲解发展和培养统计思维所需的基本概念和工具。它提供了描述性&#xff0c;归纳性和探索性的统计方法&#xff0c;并指导读者完成定量数据分析的过程。在实验科学和跨学科研究中&#xff0c;数据分析已成为任何科学研究的组成部分。诸如判断数据…

[蓝桥杯][2013年第四届真题]危险系数-dfs+图的遍历

题目描述 问题描述 抗日战争时期&#xff0c;冀中平原的地道战曾发挥重要作用。 地道的多个站点间有通道连接&#xff0c;形成了庞大的网络。但也有隐患&#xff0c;当敌人发现了某个站点后&#xff0c;其它站点间可能因此会失去联系。 我们来定义一个危险系数DF(x,y)&#xff…

selenium.common.exceptions.SessionNotCreatedException: Message: session not created全套解决方案

chromedriver版本不匹配 报错&#xff1a; selenium.common.exceptions.SessionNotCreatedException: Message: session not created selenium.common.exceptions.WebDriverException: Message: session not created: 原因&#xff1a; Chrome版本和ChromeDriver版本不一致…

.NET Core开发实战(第18课:日志框架:聊聊记日志的最佳姿势)--学习笔记(上)...

18 | 日志框架&#xff1a;聊聊记日志的最佳姿势源码链接&#xff1a;https://github.com/witskeeper/geektime/tree/master/samples/LoggingSimpleDemo日志框架必要的包&#xff1a;1、Microsoft.Extensions.Logging2、Microsoft.Extensions.Logging.Console3、Microsoft.Exte…

python递归实现_Python-递归实现

#递归实现def calc(n):print(n)if n/2 >1:res calc(n/2)print(res:,res)print(N:,n)return ncalc(100)#斐波那契数列def func(arg1,arg2,stop)if arg1 0:print(arg1,arg2)arg3 arg1 arg2print(arg3)if arg3 < stop:func(arg2,arg3,stop)func(0,1,30)#算法基础之二分查…

[蓝桥杯][2013年第四届真题]核桃的数量-枚举(水题)

题目描述 小张是软件项目经理&#xff0c;他带领3个开发组。工期紧&#xff0c;今天都在加班呢。为鼓舞士气&#xff0c;小张打算给每个组发一袋核桃&#xff08;据传言能补脑&#xff09;。他的要求是&#xff1a; 各组的核桃数量必须相同各组内必须能平分核桃&#xff08;当…

python2字符串编码方式_一、基础部分-2.字符串编码

一、字符编码历史1. ASCII美国人搞了个ASCII码表&#xff0c;把123abcABC%$#(数字、字母、特殊符号) &#xff0c;全部用10进制的数字表示。例如数字65&#xff0c;代表着“A” &#xff0c;ASCII码表一共255个数字&#xff0c;基本代表米国常用英文和符号(其实127以后都不是太…

Python基本语法复习——嗯...貌似很久没写过博客了

文章目录引入包math库random库string列表元组装包、拆包字典类与继承json异常处理引入包 import random import math import jsonmath库 print(math.ceil(4.1)) print(math.floor(4.9)) print(math.fabs(-10)) print(math.sqrt(9)) print(math.exp(1))分别是&#xff1a;向上…

Istio 1.5 发布——拥抱变化,爱上单体

北京时间 2020 年 3 月 6 日凌晨&#xff0c;我们期待已久的 Istio 1.5 发布了&#xff0c;发布公告见 https://istio.io/news/releases/1.5.x/announcing-1.5/。由 ServiceMesher 社区组织翻译的 Istio 官方文档同时发布&#xff0c;见 https://istio.io/zh。Istio 1.5 是一个…

[蓝桥杯][历届试题]连号区间数

题目描述 小明这些天一直在思考这样一个奇怪而有趣的问题&#xff1a; 在1~N的某个全排列中有多少个连号区间呢&#xff1f;这里所说的连号区间的定义是&#xff1a; 如果区间[L, R] 里的所有元素&#xff08;即此排列的第L个到第R个元素&#xff09;递增排序后能得到一个长度为…