题目大意:根据题中所规定的方法,求出一定步数后,蚂蚁的位置

题目分析:本题属于常规的模拟题,就是只要根据题意把蚂蚁每步的移动方向,改变方格的颜色模拟出来即可。

我是将四个方向用整数表示,便于后期左转和右转。 规定“上”为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. 蓝桥杯 兰顿蚂蚁(模拟)

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

  2. 蓝桥杯-兰顿蚂蚁(python)

    题目 1429: 蓝桥杯2014年第五届真题-兰顿蚂蚁 时间限制: 1Sec 内存限制: 128MB 提交: 6100 解决: 2797 题目描述 兰顿蚂蚁,是于1986年,由克里斯·兰顿提出来的,属 ...

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

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

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

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

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

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

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

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

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

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

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

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

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

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

最新文章

  1. linux tomcat 进程杀掉_Linux-(一)常用命令总结
  2. AJAX俺也不会,是真的,不过,以后就会了
  3. 二值化图像的欧拉数_Android OpenCV(八):图像二值化
  4. 广州 office365的开发者训练营交流活动简报
  5. win2003 server重启故障
  6. 软件用户手册(软件使用说明书)模板
  7. mapgis k9将wp、wl、wt转shp属性字段名乱码
  8. gsm手机影响计算机屏幕会怎么样,手机的辐射对孕妇的危害有多大
  9. Ipad 连笔记本共享360wifi热点 总是断开 解决方法
  10. 常见网络延迟测量方法
  11. 将本地视频上传到云端_如何将本地文件上传到新浪云服务器应用
  12. 成功启动electron-egg项目,electron+vue的傻瓜式搭建
  13. 英国一名28岁女子晋升曾祖母
  14. BaseQuickAdapter 条目复用问题
  15. 使用video.js 播放youtube视频——踩坑记1
  16. 好用的在线思维导图软件--GitMind
  17. Spark 学习入门教程
  18. 期货配资的优势和劣势
  19. 解决ps默认打开显卡的设置
  20. 额外学习:python字符串的各种方法

热门文章

  1. 47天21家面试,半年空挡期觉得整个人生都被毁了
  2. 关于微信名称特殊字符存数据库出问题; Incorrect string value: ‘\xF0\x9F\x90\xAF’ for column ‘nickName’ at row 1
  3. 《淘宝店铺设计装修一册通》一1.6 淘宝新店快速装修
  4. 响应式图片(基于宽度百分比的图像缩放)
  5. python 神经网络图像增强_非常好用的Python图像数据增强工具,适用多个框架
  6. 万万没想到,用浏览器打开终端竟这么容易实现
  7. oracle导入命令,记录一下 数据库日志太大,清理日志文件
  8. hive复合数据类型查表使用 以及控制语句 case when、if
  9. windows10更新体验windows11
  10. C++线程池 基于C的实现