HJ17 坐标移动

简介: HJ17 坐标移动

题目

题目连接

示例1

输入:
A10;S20;W10;D30;X;A1A;B10A11;;A10;
输出:
10,-10

示例2

输入:
ABC;AKL;DA1;
输出:
0,0

解题

方法一:字符串处理

#include <iostream>
#include <string>
#include <vector>
#include <set>
#include<unordered_map>
using namespace std;
unordered_map<char,pair<int,int>> mp={
    {'A',{-1,0}},
    {'W',{0,1}},
    {'S',{0,-1}},
    {'D',{1,0}}
};
//执行移动命令
void doCommand(pair<int,int>& p,string& command){
    char comm='\0';
    if(mp.count(command[0])){
        comm=command[0];
    }
    if(comm=='\0') return;//首字母必须要是A、W、D、S
    int i=1,n=command.size(),num=0;
    while(i<n&&command[i]>='0'&&command[i]<='9'){
        num=num*10+command[i]-'0';
        i++;
    }
    if(i!=n) return;//末尾必须要是数字
    p.first+=mp[comm].first*num;
    p.second+=mp[comm].second*num;
}
int main(){
    string s;
    getline(cin,s);
    int i=0,n=s.size();
    pair<int,int> point;
    while(i<n){
        int start=i;
        while(i<n&&s[i]!=';') i++;
        string command=s.substr(start,i-start);//读取出命令
        doCommand(point,command);//执行命令
        i++;
    }
    printf("%d,%d",point.first,point.second);
}
相关文章
|
消息中间件 缓存 NoSQL
GitHub上标星75k+超牛的《Java面试突击版》,分享PDF离线版
不论是校招还是社招都避免不了各种面试。笔试,如何去准备这些东西就显得格外重要。不论是笔试还是面试都是有章可循的,我这个有章可循‘说的意思只是说应对技术面试是可以提前准备。
|
存储 数据采集 Prometheus
【云原生监控系列第一篇】一文详解Prometheus普罗米修斯监控系统(山前前后各有风景,有风无风都很自由)(一)
【云原生监控系列第一篇】一文详解Prometheus普罗米修斯监控系统(山前前后各有风景,有风无风都很自由)(一)
2081 0
【云原生监控系列第一篇】一文详解Prometheus普罗米修斯监控系统(山前前后各有风景,有风无风都很自由)(一)
|
10月前
|
Java Maven
maven项目的pom.xml文件常用标签使用介绍
第四届人文,智慧教育与服务管理国际学术会议(HWESM 2025) 2025 4th International Conference on Humanities, Wisdom Education and Service Management
788 8
|
监控 Dubbo 搜索推荐
No application config found or it‘s not a valid config! Please add <dubbo:application name=“...“ />
No application config found or it‘s not a valid config! Please add <dubbo:application name=“...“ />
1618 1
|
关系型数据库 MySQL 数据库
|
敏捷开发 开发框架 JavaScript
很牛!Github 上 10 个值得学习的 Springboot 开源项目
很牛!Github 上 10 个值得学习的 Springboot 开源项目
11649 0
|
存储 Prometheus 监控
当 OpenTelemetry 遇上阿里云 Prometheus
本文以构建系统可观测(重点为指标监控体系)为切入点,对比 OpenTelemetry 与 Prometheus 的相同与差异,后重点介绍如何将应用的 OpenTelemetry 指标接入 Prometheus 及背后原理,最后介绍阿里云可观测监控 Prometheus 版拥抱 OpenTelemetry 及相关落地实践案例,希望能更好的帮助读者更好的理解 OpenTelemetry 及与 Prometheus 的生态融合。
964 0
|
搜索推荐
排序算法图解(五):快速排序分步刨析
文章目录 1 快速排序简介 2 思路简介及图解 3 实现代码及运行结果 写在最后
排序算法图解(五):快速排序分步刨析
|
缓存 Java 数据库
项目中使用多线程的场景,多线程的优缺点
项目中使用多线程的场景,多线程的优缺点
349 0
|
安全 算法 数据建模
什么是国密改造?国密SSL证书起什么作用?
国密改造是指政企单位按照《GB/T 39786-2021 信息安全技术信息系统密码应用基本要求》进行的信息系统密码应用改造。
748 0
什么是国密改造?国密SSL证书起什么作用?