XDOJ78.机器人

news2025/4/8 19:37:27

标题

机器人

类别

综合

时间限制

1S

内存限制

256Kb

问题描述

机器人按照给定的指令在网格中移动,指令有以下四种:

N 向北(上)移动

S 向南(下)移动

E 向东(右)移动

W 向西(左)移动

如下图所示,在网格1中,机器人初始位于网格第1行第5列,按照网格中的指令,机器人在走出网格前需要10步。在网格2中,机器人初始位于网格第1行第1列,按照网格中的指令,机器人将进入一个循环,永远走不出网格,且在进入循环前走了11步。

假定机器人初始时刻总是在网格第一行的某一列上,请你写一个程序确定机器人能否走出网格,并输出走出网格或进入循环需要的步数。

输入说明

输入数据第一行为空格分隔的3个整数,分别表示网格行数N、列数M和初始时刻机器人所在的列C(从网格最左边开始,以1为基准计数)。每个网格的行数和列数均不超过20。接下来是N行指令,指令只包含N,S,E和W四种,所有指令之间没有空格。

输出说明

如果机器人可以走出网格,输出"out "加上走出网格需要的步数;如果机器人进入循环不能走出网格,输出"loop "以及进入循环前走的步数。

4 5 1

SESWE

EESNW

NWEEN

EWSEN

输入样例

3 6 5

NEESWE

WWWESS

SNWWWW

输出样例

out 10

#define _CRT_SECURE_NO_WARNINGS

#include<stdio.h>

void move(int* x, int* y, int record[22][22], char way[22][22])
{
	record[*x][*y]++;
	if (way[*x][*y] == 'N')
	{
		(*x)--;
		return;
	}
	if (way[*x][*y] == 'S')
	{
		(*x)++;
		return;
	}
	if (way[*x][*y] == 'E')
	{
		(*y)++;
		return;
	}
	if (way[*x][*y] == 'W')
	{
		(*y)--;
		return;
	}
}

int main()
{
	int record[22][22] = { 0 };
	for (int i = 0; i < 22; i++)
	{
		for (int j = 0; j < 22; j++)
		{
			record[i][j] = -1;
		}
	}
	char way[22][22] = { 0 };
	int n = 0;
	int m = 0;
	int start = 0;
	scanf("%d %d %d", &n, &m, &start);
	for (int i = 1; i <= n; i++)
	{
		getchar();
		for (int j = 1; j <= m; j++)
		{
			record[i][j] = 0;
			scanf("%c", &way[i][j]);
		}
	}
	int x = 1;
	int y = start;
	int count = 0;
	while (record[x][y] == 0)
	{
		move(&x, &y, record, way);
		count++;
	}
	if (record[x][y] == -1)
	{
		printf("out %d", count);
	}
	else if (record[x][y] == 1)
	{
		printf("loop %d", count);
	}
	return 0;
}

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

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

相关文章

上传自己的依赖到maven仓库 -- 保姆级复盘

上传自己的依赖到maven仓库 -- 保姆级复盘 1、准备工作1.1、安装Git1.2、将需要上传的代码先上传到Gitee中1.2.1、上传步骤1.2.2、如果出现以下错误&#xff08;主要原因是gitee中README.md文件和本地不一致&#xff0c;或者不在本地代码目录中&#xff09; 2、sonatype注册登录…

【CSS】设置0.5px的边框宽度

直接写border: 0.5px solid red; 这样在移动端可能会出现问题&#xff0c;下面说下解决办法&#xff1a; 直接上代码&#xff1a; <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta http-equiv"X-UA-C…

SCADE—产品级安全关键系统的MBD开发套件

产品概述 随着新能源三电、智能驾驶等新技术的应用&#xff0c;汽车中衍生出很多安全关键零部件&#xff0c;如BMS、VCU、MCU、ADAS等&#xff0c;相应的软件在汽车中的比重越来越大&#xff0c;并且安全性、可靠性要求也越来越高。ANSYS主要针对安全关键零部件的嵌入式产品级软…

通过消费者特征,设计更符合市场的商业模式,树立标杆用户拓展用户圈层

迅腾文化观察&#xff1a;通过消费者特征&#xff0c;设计更符合市场的商业模式&#xff0c;树立标杆用户拓展用户圈层 在当今快速变化的市场环境中&#xff0c;企业需要不断创新和调整自己的商业模式&#xff0c;以适应消费者的需求和市场的发展。迅腾文化观察到&#xff0c;…

西门子消防主机控制面板显示盘维修B3Q565

作为图形监控主机&#xff0c;负责接收并储存各消防设备主要运行状态&#xff0c;接收火灾报警并显示报警部位&#xff0c;包括火灾报警、状态监视、设备故障报警、网络故障报警﹐指挥抢险救援的活动,进行火灾信息的处理与传送&#xff0c;同时具备提示操作人员的功能&#xff…

中国到雅加达 | 专业双清,轻松畅达印尼!

中国到雅加达 | 专业双清&#xff0c;轻松畅达印尼&#xff01;&#x1f30f;&#x1f69a; 嗨&#xff0c;亲爱的小伙伴们&#xff01;如果你正在考虑从中国发货到雅加达&#xff0c;那么我们的专业双清将是你的不二之选&#xff01;✈️&#x1f4e6; 亮点&#xff1a; 空运…

Grounding 模型 + SAM 报错

引入 Grounding 目标检测模型串联 SAM 从而实现实例分割任务&#xff0c;目前支持 Grounding DINO 和 GLIP 参考教程 MMDetection-SAM 如果是 Grounding DINO 则安装如下依赖即可 cd playground pip install githttps://github.com/facebookresearch/segment-anything.git pip…

基于安卓平台的汉语言学习应用系统的设计与实现-计算机毕业设计源码80400

摘 要 在信息飞速发展的今天&#xff0c;网络已成为人们重要的信息交流平台。每天都有大量的农产品需要通过网络发布&#xff0c;为此&#xff0c;本人开发了一个基于Android模式的汉语言学习应用系统。 对于本汉语言学习应用系统的设计来说&#xff0c;它主要是采用后台采用j…

项目经理如何管理团队成员,把控项目进度

王博刚成为项目经理&#xff0c;公司给他了一个项目&#xff0c;一段时间后由于公司业务扩大&#xff0c;又给了王博一个项目&#xff0c;他两个项目搞的王博筋疲力尽&#xff0c;王博也安排任务而感到苦恼&#xff0c;主要在以下几个方面: 1、安排任务给项目成员&#xff0c;…

新手教师的三个阶段

当你踏入教育行业&#xff0c;成为一名新手教师时&#xff0c;可能会感到迷茫和不知所措。但是&#xff0c;请相信&#xff0c;每一位优秀教师都曾经是新手&#xff0c;他们也有过类似的感受。本文将为你揭示新手教师的三个成长阶段&#xff0c;帮助你更快地适应教育工作&#…

索引类型-哈希索引

一. 前言 前面我们简单介绍了数据库的B-Tree索引&#xff0c;下面我们介绍另一种索引类型-哈希索引。 二. 哈希索引的简介 哈希索引(hash index) 基于哈希表实现&#xff0c;只有精确匹配索引所有列的查询才有效。对于每一行数据&#xff0c;存储引擎都会对所有索引列计算一个…

BLE Mesh蓝牙组网技术详细解析之Model Layer模型层(八)

目录 一、什么是BLE Mesh Model Layer模型层&#xff1f; 二、SIG Model 2.1 模型概念 2.2 消息格式 2.3 开关模型 四、资料获取 一、什么是BLE Mesh Model Layer模型层&#xff1f; Models Layer的作用是定义了一些通用的或特定的模型&#xff0c;用于实现网络节点设备…

记一次 .NET某股票交易软件 灵异崩溃分析

一&#xff1a;背景 1. 讲故事 在dump分析的旅程中也会碰到一些让我无法解释的灵异现象&#xff0c;追过这个系列的朋友应该知道&#xff0c;上一篇我聊过 宇宙射线 导致的程序崩溃&#xff0c;后来我又发现了一例&#xff0c;而这一例恰恰是高铁的 列控连锁一体化 程序&…

制药厂污废水处理需要哪些设备和工艺要求

制药厂是一种特殊的工业企业&#xff0c;其生产过程中会产生大量的废水&#xff0c;其中含有各种有害物质和化学物质。为了保护环境和人民的身体健康&#xff0c;制药厂需要对污废水进行有效的处理。那么&#xff0c;制药厂污废水处理需要哪些设备和工艺要求呢&#xff1f; 首先…

谈谈自己对于 Spring IoC 的了解

如果你现在需要准备面试&#xff0c;可以关注我的公众号&#xff1a;”Tom聊架构“&#xff0c;回复暗号&#xff1a;”578“&#xff0c;领取一份我整理的50W字面试宝典&#xff0c;可以帮助你提高80%的面试通过率&#xff0c;价值很高&#xff01;&#xff01; IoC&#xff0…

与ChatGPT一起完成Python4Delphi在Linux下的使用

我要做的功能很简单&#xff0c;获取各个国家手机号的区号&#xff0c; 如我的手机号8618957901025&#xff0c;能将86获取出来&#xff0c; 谷歌提供了一个phonenumbers库能实现&#xff0c; 我当然没指望它能有Delphi版的&#xff0c; 但是它有Python版的&#xff0c; 那…

Parasoft发布C/C++test 2023.2:为C++开发人员赋能

Parasoft推出了C开发领域的变革性工具——最新版本的C/Ctest 2023.2。这次更新为开发人员提供了一整套新功能、增强功能和合规性工具&#xff0c;从而改革软件开发生命周期。使用Parasoft C/Ctest 2023.2&#xff0c;用户就拥有了一个可以保证他们的C17代码符合MISRA C 2023的解…

论Acrel-2000MG微电网能量管理系统在储能行业的应用-安科瑞 蒋静

一、概述: 在新型电力系统中新能源装机容量逐年提高&#xff0c;但是新能源比如光伏发电、风力发电是不稳定的能源&#xff0c;所以要维持电网稳定&#xff0c;促进新能源发电的消纳&#xff0c;储能将成为至关重要的一环&#xff0c;是分布式光伏、风电等新能源消纳以及电网安…

DS|二叉树

题目一&#xff1a;DS二叉树 -- 二叉树构建与遍历 题目描述&#xff1a; 给定一颗二叉树的逻辑结构如下图&#xff0c;&#xff08;先序遍历的结果&#xff0c;空树用字符‘#’表示&#xff0c;例如AB#C##D##&#xff09;&#xff0c;建立该二叉树的二叉链式存储结构&#xf…

【React系列】JSX核心语法和原理

本文来自#React系列教程&#xff1a;https://mp.weixin.qq.com/mp/appmsgalbum?__bizMzg5MDAzNzkwNA&actiongetalbum&album_id1566025152667107329) 一. ES6 的 class 虽然目前React开发模式中更加流行hooks&#xff0c;但是依然有很多的项目依然是使用类组件&#x…