当前位置: 首页 > news >正文

HJ17 坐标移动【牛客网】

文章目录

  • 零、原题链接
  • 一、题目描述
  • 二、测试用例
  • 三、解题思路
  • 四、参考代码

零、原题链接


HJ17 坐标移动

一、题目描述

在这里插入图片描述

二、测试用例

在这里插入图片描述

三、解题思路

  1. 基本思路:
      这题的难点在于理解题目和如何处理各种情况。题目是给定一串指令,首先要判断指令是否合法,合法指令要满足三个条件,然后,如果指令合法,则按照指令进行移动。最终得到最后的位置坐标。
  2. 具体思路:
    • 解决输入,可以使用 stringstream 进行字符串分割
    • 判断指令是否合法:
      • 指令长度只能是 2 或者 3
      • 指令除了第一个字符,其他字符只能为数字;【如果合法顺便将字符串转为整型】
      • 指令第一个字符只能是 'W''A''S''D' 。【如果合法则进行移动】
    • 处理完所有指令,则输出最终坐标;

四、参考代码

时间复杂度: O ( n ) \Omicron(n) O(n)【n 是指令序列长度】
空间复杂度: O ( n ) \Omicron(n) O(n)

#include <cctype>
#include <iostream>
#include <sstream>
#include <string>
using namespace std;int main() {stringstream ss;string str;cin >> str;ss << str;int x = 0, y = 0;while (getline(ss, str, ';')) {if (str.length() != 2 && str.length() != 3)continue;int num = 0;if (str.length() == 3 && isdigit(str[1]) && isdigit(str[2])) {num += (str[1] - '0') * 10 + str[2] - '0';} else if (str.length() == 2 && isdigit(str[1])) {num += str[1] - '0';} else {continue;}if (str[0] == 'W') {y += num;} else if (str[0] == 'A') {x -= num;} else if (str[0] == 'S') {y -= num;} else if (str[0] == 'D') {x += num;}}cout << x << ',' << y;
}
// 64 位输出请用 printf("%lld")
http://www.dtcms.com/a/202812.html

相关文章:

  • C++之set与map介绍
  • 《光与影:33号远征队》栩栩如生的角色动画是如何创建的?
  • vue+springboot+element-ui实现table的树懒加载
  • Redis学习专题(三)主从复制
  • Java大师成长计划之第28天:处理多线程的Web应用
  • python-数据可视化(大数据、数据分析、可视化图像、HTML页面)
  • 生产专属ERP系统源码,一套集成企业财务、供应链、生产、销售等核心业务流程的管理系统
  • 第三十天打卡
  • 【Java高阶面经】1.微服务架构核心:服务注册与发现之AP vs CP选型全攻略
  • 电子电器架构 --- 汽车高性能计算
  • 关于 APK 反编译与重构工具集
  • Spring Boot-Swagger离线文档(插件方式)
  • C++(3)
  • 鸿蒙开发进阶:深入解析ArkTS语言特性与开发范式
  • 关于 Web 漏洞原理与利用:3. CSRF(跨站请求伪造)
  • Python _day31
  • 第40天-Python开发音乐播放器完整指南
  • Java 10IO流
  • [Java] idea的调试介绍
  • P2670 [NOIP 2015 普及组] 扫雷游戏
  • 软件设计师考试三大核心算法考点深度解析(红黑树 / 拓扑排序 / KMP 算法)真题考点分析——求三连
  • centos7配置静态ip 网关 DNS
  • C++中的宏
  • 解码数据语言:如何优雅的进行数仓字典建设?
  • Web开发-Python应用Flask框架Jinja模版绑定路由参数传递页面解析SSTI注入
  • 协程+Flow:现代异步编程范式,替代RxJava的完整实践指南
  • PH热榜 | 2025-05-20
  • springboot框架 集成海康ISUP-SDK 并实现 协议透传给设备下发指令!
  • 武汉科技大学人工智能与演化计算实验室许志伟课题组参加第八届智能优化与调度学术会议
  • 【QT】QTableWidget获取width为100,与真实值不符问题解决