Description

兰顿蚂蚁,是于1986年,由克里斯·兰顿提出来的,属于细胞自动机的一种。

  平面上的正方形格子被填上黑色或白色。在其中一格正方形内有一只“蚂蚁”。
蚂蚁的头部朝向为:上下左右其中一方。

  蚂蚁的移动规则十分简单:
若蚂蚁在黑格,右转90度,将该格改为白格,并向前移一格;
若蚂蚁在白格,左转90度,将该格改为黑格,并向前移一格。

  规则虽然简单,蚂蚁的行为却十分复杂。刚刚开始时留下的路线都会有接近对称,像是会重复,但不论起始状态如何,蚂蚁经过漫长的混乱活动后,会开辟出一条规则的“高速公路”。

  蚂蚁的路线是很难事先预测的。

  你的任务是根据初始状态,用计算机模拟兰顿蚂蚁在第n步行走后所处的位置

Input

输入数据的第一行是 m n 两个整数(3 < m, n < 100),表示正方形格子的行数和列数。
接下来是 m 行数据。
每行数据为 n 个被空格分开的数字。0 表示白格,1 表示黑格。

  接下来是一行数据:x y s k, 其中x y为整数,表示蚂蚁所在行号和列号(行号从上到下增长,列号从左到右增长,都是从0开始编号)。s 是一个大写字母,表示蚂蚁头的朝向,我们约定:上下左右分别用:UDLR表示。k 表示蚂蚁走的步数。

Output

输出数据为两个空格分开的整数 p q, 分别表示蚂蚁在k步后,所处格子的行号和列号。

Sample Input

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

Sample Output

1 3

思路:通过记录蚂蚁头所朝方向的变化来判断当前所处位置

#include<stdio.h>
int m,n;
int square[200][200];
void creat()
{for(int i=0;i<m;i++){for(int j=0;j<n;j++){scanf("%d",&square[i][j]);}}
}
int main()
{int x,y,k,i,j,f;char s[4];while(~scanf("%d%d",&m,&n)){creat();scanf("%d%d%s%d",&x,&y,s,&k);f=10000; //假设蚂蚁初始方向朝上if(s[0]=='U')f+=0;else if(s[0]=='R')f+=1;else if(s[0]=='D')f+=2;else if(s[0]=='L')f+=3;while(k--){if(square[x][y]){square[x][y]=0;f++; //在白格,右转90度}else{square[x][y]=1;f--; //在黑格,左转90度}if(f%4==0)x--;else if(f%4==1)y++;else if(f%4==2)x++;elsey--;}printf("%d %d\n",x,y);}return 0;
}

2100-兰顿蚂蚁 ZCMU相关推荐

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

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

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

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

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

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

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

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

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

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

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

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

  7. 第五届蓝桥杯 软件类省赛真题 第八题:兰顿蚂蚁

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

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

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

  9. 【菜鸟算题】兰顿蚂蚁

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

  10. React 系列教程2:编写兰顿蚂蚁演示程序

    简介 最早接触兰顿蚂蚁是在做参数化的时候,那时候只感觉好奇,以为是很复杂的东西.因无意中看到生命游戏的 React 实现,所以希望通过兰顿蚂蚁的例子再学习一下 React. 兰顿蚂蚁的规则非常简单: ...

最新文章

  1. CNN网络结构发展最全整理
  2. 如何在代码中获取Java应用当前的版本号?
  3. 也来谈谈RNN的梯度消失/爆炸问题
  4. 《Java 高并发》01 高并发基本概念
  5. 查看oracle当前的连接数
  6. 【开发者portal在线开发插件系列一】profile和基本上下行消息
  7. python进行数据分析 简书_《利用python进行数据分析》读书笔记1
  8. 高淇Struts2.0教程之视频笔记(4)
  9. linux查看文件权限_Linux权限管理 -- 文件权限
  10. 使用sql语句查询access数据库
  11. The following paths are ignored by one of your .gitignore
  12. HM5469A单节锂电池保护IC过流9A电流可以做8W
  13. 店宝宝:电视剧“拼刀刀”梗引热议 拼多多紧急注册商标为哪版?
  14. 用tushare数据自定义期货大宗商品指数(3)
  15. 开放平台(接口)开发-1-天气API接口大全
  16. python基础 列表
  17. 企业家论坛谋定转型 商协社团·万祥军:全国工商联促广东发展
  18. 一路走来的飞控设计研发之路
  19. 东北大学计算机硬件题库,东北大学计算机硬件基础机考题库(150单选+编程)..pdf...
  20. Matlab求解非线性规划

热门文章

  1. Unity 行首不出现中文标点
  2. 如何成为一个更好的人
  3. 2013年12月1日到12月5日16Aspx源码发布详情
  4. xdag的linux安装包,超詳細XDAG GPU挖礦教程 Linux 篇
  5. 自媒体人怎么追实时热点热搜榜?3个免费工具来了
  6. 基于golang制作倾斜图片水印保护图片来源
  7. 循环神经网络 斯坦发视频
  8. 新用友终端如何连接服务器,客户端软件安装好后如何配置连接服务器
  9. [绍棠] js中map和list互转
  10. 网络自动化之ZTP自动装机(H3C)