蓝桥杯-兰顿蚂蚁 (模拟)
题目大意:根据题中所规定的方法,求出一定步数后,蚂蚁的位置
题目分析:本题属于常规的模拟题,就是只要根据题意把蚂蚁每步的移动方向,改变方格的颜色模拟出来即可。
我是将四个方向用整数表示,便于后期左转和右转。 规定“上”为0,“右”为1,“下”为2,“左”为3。通过这样的表示,当蚂蚁左转时,可以很方便地用(dir+3)%4来表示;同样的,当蚂蚁右转时,用(dir+1)%4来表示。
当更新蚂蚁位置时,即蚂蚁向前走一步,题中没有非法性要求,所以我们也不需要进行边界判断
代码展示:
#include <iostream>
using namespace std;struct Point{int x,y;
};int translate(char c){switch(c){case 'U':return 0; //向上,返回0case 'R':return 1; //向右,返回1case 'D':return 2; //向下,返回2case 'L':return 3; //向左,返回3}return -1; //处理异常情况
}Point update(int dir,Point &p){switch(dir){case 0:p.x--;break;case 1:p.y++;break;case 2:p.x++;break;case 3:p.y--;}return p;
}int main(){int m,n,steps,dir;char direction;cin>>m>>n;int map[110][110];for(int i=0;i<m;i++){for(int j=0;j<n;j++)cin>>map[i][j];}Point ant_pos; //蚂蚁的位置cin>>ant_pos.x>>ant_pos.y;cin>>direction; //蚂蚁头的方向dir = translate(direction);cin>>steps; //蚂蚁走的总步数for(int i=1;i<=steps;i++){if(map[ant_pos.x][ant_pos.y]==0){ //当前所在位置为白格dir = (dir+3)%4; //左转map[ant_pos.x][ant_pos.y] = 1;}else{ //当前所在位置为黑格dir = (dir+1)%4; //右转map[ant_pos.x][ant_pos.y] = 0;}ant_pos = update(dir,ant_pos);}cout<<ant_pos.x<<" "<<ant_pos.y<<endl;return 0;
}
蓝桥杯-兰顿蚂蚁 (模拟)相关推荐
- 蓝桥杯 兰顿蚂蚁(模拟)
历届试题 兰顿蚂蚁 时间限制:1.0s 内存限制:256.0MB 问题描写叙述 兰顿蚂蚁.是于1986年,由克里斯·兰顿提出来的,属于细胞自己主动机的一种. 平面上的正方形格子被填上黑色或白色 ...
- 蓝桥杯-兰顿蚂蚁(python)
题目 1429: 蓝桥杯2014年第五届真题-兰顿蚂蚁 时间限制: 1Sec 内存限制: 128MB 提交: 6100 解决: 2797 题目描述 兰顿蚂蚁,是于1986年,由克里斯·兰顿提出来的,属 ...
- 蓝桥杯 兰顿蚂蚁(Bfs)
历届试题 兰顿蚂蚁 时间限制:1.0s 内存限制:256.0MB 问题描述 兰顿蚂蚁,是于1986年,由克里斯·兰顿提出来的,属于细胞自动机的一种. 平面上的正方形格子被填上黑色或白色.在其中 ...
- 蓝桥杯 兰顿蚂蚁【模拟】
题目链接 解题思路 这就是一道纯模拟题,主要就是根据题意写出蚂蚁在白格和黑格中不同的变化方式即可. 代码部分 #include <iostream> #include <stdio. ...
- [蓝桥杯][2014年第五届真题]兰顿蚂蚁-模拟
题目描述 兰顿蚂蚁,是于1986年,由克里斯·兰顿提出来的,属于细胞自动机的一种. 平面上的正方形格子被填上黑色或白色.在其中一格正方形内有一只"蚂蚁". 蚂蚁的头部朝向为:上下左 ...
- 历届试题 兰顿蚂蚁 (模拟)
题目: 兰顿蚂蚁,是于1986年,由克里斯·兰顿提出来的,属于细胞自动机的一种. 平面上的正方形格子被填上黑色或白色.在其中一格正方形内有一只"蚂蚁". 蚂蚁的头部朝向为:上下左右 ...
- java兰顿蚂蚁解题思路_蓝桥试题-兰顿蚂蚁
问题描述: 兰顿蚂蚁,是于1986年,由克里斯·兰顿提出来的,属于细胞自动机的一种. 平面上的正方形格子被填上黑色或白色.在其中一格正方形内有一只"蚂蚁". 蚂蚁的头部朝向为:上下 ...
- 蓝桥杯:兰顿蚂蚁(简单模拟)
问题描述 兰顿蚂蚁,是于1986年,由克里斯·兰顿提出来的,属于细胞自动机的一种. 平面上的正方形格子被填上黑色或白色.在其中一格正方形内有一只"蚂蚁". 蚂蚁的头部朝向为:上下左 ...
- 2014年蓝桥杯省赛:兰顿蚂蚁(简单模拟)
[问题描述] 兰顿蚂蚁,是于1986年,由克里斯·兰顿提出来的,属于细胞自动机的一种. 平面上的正方形格子被填上黑色或白色.在其中一格正方形内有一只"蚂蚁". 蚂蚁的头 ...
最新文章
- linux tomcat 进程杀掉_Linux-(一)常用命令总结
- AJAX俺也不会,是真的,不过,以后就会了
- 二值化图像的欧拉数_Android OpenCV(八):图像二值化
- 广州 office365的开发者训练营交流活动简报
- win2003 server重启故障
- 软件用户手册(软件使用说明书)模板
- mapgis k9将wp、wl、wt转shp属性字段名乱码
- gsm手机影响计算机屏幕会怎么样,手机的辐射对孕妇的危害有多大
- Ipad 连笔记本共享360wifi热点 总是断开 解决方法
- 常见网络延迟测量方法
- 将本地视频上传到云端_如何将本地文件上传到新浪云服务器应用
- 成功启动electron-egg项目,electron+vue的傻瓜式搭建
- 英国一名28岁女子晋升曾祖母
- BaseQuickAdapter 条目复用问题
- 使用video.js 播放youtube视频——踩坑记1
- 好用的在线思维导图软件--GitMind
- Spark 学习入门教程
- 期货配资的优势和劣势
- 解决ps默认打开显卡的设置
- 额外学习:python字符串的各种方法
热门文章
- 47天21家面试,半年空挡期觉得整个人生都被毁了
- 关于微信名称特殊字符存数据库出问题; Incorrect string value: ‘\xF0\x9F\x90\xAF’ for column ‘nickName’ at row 1
- 《淘宝店铺设计装修一册通》一1.6 淘宝新店快速装修
- 响应式图片(基于宽度百分比的图像缩放)
- python 神经网络图像增强_非常好用的Python图像数据增强工具,适用多个框架
- 万万没想到,用浏览器打开终端竟这么容易实现
- oracle导入命令,记录一下 数据库日志太大,清理日志文件
- hive复合数据类型查表使用 以及控制语句 case when、if
- windows10更新体验windows11
- C++线程池 基于C的实现