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

牛客:HJ17 坐标移动[华为机考][字符串]

学习要点

  1. string.find()
  2. string.substr()

题目链接

        坐标移动_牛客题霸_牛客网

题目描述

      

解法:字符串操作

// #include <iostream>
#include <bits/stdc++.h>
#include <map>
#include <string>
#include <unordered_map>
#include <utility>
using namespace std;int main() {string big_str;getline(cin, big_str);multimap<char,int>pos_map;// 开始检查// 先将头直接的';'排除int pos = 0;while (big_str[pos] == ';') {pos++;}if ( pos >= big_str.size()) {cout << '0' << ',' << '0' << endl;} else {while (pos < big_str.size()) {// 先拿到单个元素int prev_pos = pos;pos = big_str.find(';', pos);string tmp = big_str.substr(prev_pos, pos - prev_pos);while (big_str[pos] == ';') {pos++;if (pos == big_str.size())   break; // 防止溢出}// 尺寸必须小于4if (tmp.size() >= 4)continue;// 第一个必须是WASDif (tmp[0] != 'A' && tmp[0] != 'W' && tmp[0] != 'S' && tmp[0] != 'D')continue;// 第二个必须是数字if (tmp[1] < '0' || tmp[1] > '9')continue;// 如果有第三个必须是数字if (tmp.size() == 3) {if (tmp[2] < '0' || tmp[2] > '9')continue;}// 结果正确放入容器// pos_map[tmp[0]] = stoi(tmp.substr(1));pos_map.insert(make_pair(tmp[0],stoi(tmp.substr(1))));}// 开始计算int x = 0;int y = 0;for (auto& i : pos_map) {switch (i.first) {case 'A':x = x - i.second;break;case 'D':x = x + i.second;break;case 'W':y = y + i.second;break;case 'S':y = y - i.second;break;default:break;}}cout << x << ',' << y << endl;}
}
// 64 位输出请用 printf("%lld")
http://www.xdnf.cn/news/15132.html

相关文章:

  • Leaflet面试题及答案(1-20)
  • [实战]调频三角波和锯齿波信号生成(完整C代码)
  • 深入浅出:什么是MCP(模型上下文协议)?
  • 力扣网编程134题:加油站(双指针)
  • C++中柔性数组的现代化替代方案:从内存布局优化到标准演进
  • Debian:从GNOME切换到Xfce
  • 扫描文件 PDF / 图片 纠斜 | 图片去黑边 / 裁剪 / 压缩
  • I2C集成电路总线
  • Semi-Supervised Single-View 3D Reconstruction via Prototype Shape Priors
  • 基于Java Spring Boot开发的旅游景区智能管理系统 计算机毕业设计源码32487
  • linux网络编程之单reactor模型(一)
  • Python 数据建模与分析项目实战预备 Day 2 - 数据构建与字段解析(模拟简历结构化数据)
  • 【前端】【组件库开发】【原理】【无框架开发】现代网页弹窗开发指南:从基础到优化
  • GNhao,获取跨境手机SIM卡跨境通信新选择!
  • 手机恢复出厂设置怎么找回数据?Aiseesoft FoneLab for Android数据恢复工具分享
  • Java中的泛型继承
  • 深度学习篇---昇腾NPUCANN 工具包
  • 《Java EE与中间件》实验三 基于Spring Boot框架的购物车
  • BLOB 数据的插入与读取详解
  • Linux驱动学习day22(interrupt子系统)
  • [python]在drf中使用drf_spectacular
  • 卢比危机下的金融破局:科伦坡交易所技术升级作战图
  • SpringBoot JWT
  • NFS文件存储及论坛项目搭建(php)
  • Web攻防-SSTI服务端模版注入利用分类语言引擎数据渲染项目工具挖掘思路
  • MCU芯片内部的ECC安全机制
  • OpenCV图像基本操作:读取、显示与保存
  • 《数据库》MySQL备份回复
  • AI加持的开源知识库新秀:PandaWiki,如何用它打造智能化文档系统?
  • 新作品:吃啥好呢 - 个性化美食推荐