HJ17 坐标移动

2023-11-10

Powered by:NEFU AB-IN

Link

HJ17 坐标移动

  • 题意

    开发一个坐标计算工具, A表示向左移动,D表示向右移动,W表示向上移动,S表示向下移动。从(0,0)点开始移动,从输入字符串里面读取一些坐标,并将最终输入结果输出到输出文件里面。

  • 思路

    熟练运用getline分隔字符串

    在C++中,<< 运算符用于输出数据到流中,包括标准输出流(cout)和其他类型的流,例如文件流或字符串流。这种运算符的设计是为了与 >> 运算符(用于从流中读取数据)形成对称性。
    这个设计的目的是提供一种直观的方式来操作流,使代码易于理解和编写。当你使用 << 运算符时,你可以将数据从程序输出到流中,就像你在控制台或文件中看到的输出一样。这样的操作符重载让C++的输入输出操作看起来更像自然语言,使代码更易于阅读和维护。
    总之,<< 运算符表示输出(写入)数据到流中,而 >> 运算符表示从流中读取数据,这种设计是为了让C++代码更具可读性和易用性。

  • 代码

    #include <bits/stdc++.h>
    #include <cctype>
    #include <sstream>
    using namespace std;
    #define int long long
    #undef int
    
    #define SZ(X) ((int)(X).size())
    #define ALL(X) (X).begin(), (X).end()
    #define IOS                                                                                                            \
        ios::sync_with_stdio(false);                                                                                       \
        cin.tie(nullptr);                                                                                                  \
        cout.tie(nullptr)
    #define DEBUG(X) cout << #X << ": " << X << '\n'
    
    const int M = 70, N = 4e4 + 10, INF = 0x3f3f3f3f;
    
    
    signed main() {
        IOS;
        int x = 0, y = 0;
        string s;
        getline(cin, s);
    
        stringstream ss;
        ss << s;
    
        while (getline(ss, s, ';')) {
            if (SZ(s) == 2 && isdigit(s[1]) || SZ(s) == 3 && isdigit(s[1]) &&
                    isdigit(s[2])) {
                int num = atoi(s.substr(1).c_str());
    
                switch (s[0]) {
                    case 'A':
                        x -= num;
                        break;
                    case 'S':
                        y -= num;
                        break;
                    case 'W':
                        y += num;
                        break;
                    case 'D':
                        x += num;
                        break;
                }
            }
    
    
        }
    
        cout << x << "," << y;
    
    
        return 0;
    }
    
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

HJ17 坐标移动 的相关文章

  • yolov5源码解读--训练策略

    yolov5源码解读 训练策略 超参数解读 命令行参数 train 模型迭代 测试 超参数解读 hyp scratch yaml lr0 0 0032 初始学习率 lrf 0 12 使用余弦函数动态降低学习率 lr0 lrf momentu

随机推荐

  • spark入门小例子

    来源 我是码农 转载请保留出处和链接 本文链接 http www 54manong com id 1221 1 pyspark 2 spark shell spark网页管理页面 http 127 0 0 1 4040 jobs 3 设置日
  • Redis常见数据结构的常用命令及引用

    String 1 常用命令 字符串常用操作 SET key value 存入字符串键值对 MSET key value key value 批量存储字符串键值对 SETNX key value 存入一个不存在的字符串键值对 GET key
  • AVLTree-平衡二叉树-coming soon

  • php验证用户账号密码正确,php-检查用户名和密码是否正确

    因为我的代码是正确的 所以我总是得到回显 Username Passwordcorrect 用户名 密码是否匹配 我的问题是 我在下面的代码中为PHP总是回显 用户名 密码错误 而做错了什么 require privstuff dbinfo
  • jupyter notebook使用基础及其快捷键,包括对文档操作、cell操作、快捷键、markdown

    目录 Jupyter Notebook介绍 使用原因 基本操作 新建notebook文档 对文档的操作 cell操作 什么是cell Jupyter支持两种模式 鼠标操作 Jupyter快捷键操作 markdown演示 手动建导航 Jupy
  • 网络编程 - Java SSLSocketFactory 创建方式

    SSL TLS 认证需要服务端提供 KeyStore jks TrustStore jks 实现方式 优缺点 服务端提供 CA Client CRT Client Key 文件 缺点 服务端提供原始签名 不安全不建议采用 服务端提供 Key
  • linux $0命令,Linux:awk命令详解

    简单使用 awk 对于文件中一行行的独处来执行操作 awk F print 1 4 使用 来分割这一行 把这一行的第一第四个域打印出来 AWK命令介绍 awk语言的最基本功能是在文件或字符串中基于指定规则浏览和抽取信息 awk抽取信息后 才
  • 2023最新pycharm详细安装教程,小白必看

    一 python官网 Python官网主要有python的About 简介 Downloads 下载 Documentation 文档 Community 团体 Success Stories 成功案例 News 新闻 Events 事件动
  • 贪吃蛇智能版(专家)

    在高级版本的基础之上 主要针对以下问题进行了处理 当长度逐渐变成 超过100之后 随机wander 追尾有比较大的随机性 弄不好就把自己围死了 这个时候已经不能再看到实物马上就去吃了 在吃之前必须先调整好自身的状态 等到认为调整的差不多的时
  • 如何在sqlserver建立新用户并关联相应的数据库

    我们经常需要在数据库上建立有权限的用户 该用户只能去操作某个特定的数据库 比如该用户只能去读 去写等等 那么我们应该怎么在sqlserver上设置呢 下面的步骤有点长 只要一步一步跟着设置就行 方法 步骤 如果你没有开通sqlserver身
  • GoWeb开发-3.JWT

    1 导入依赖库 go get u github com dgrijalva jwt go 2 生成token import fmt github com gin gonic gin jwt github com dgrijalva jwt
  • 将树莓派上的文件发送到服务器,怎样将树莓派变成网络文件系统版本4服务器...

    简介 网络文件系统 NFS 可以同时在版本2 3 4中运行 NFS版本4 NFSv4 在NFSv2和NFSv3 我最喜欢的改进是 NFSv4使配置防火墙变得简单 因为NFSv4仅使用一个端口 默认为2049 而NFSv2和NFSv3使用4个
  • 搭建 llvm 学习环境

    1 下载llvm git clone https github com llvm llvm project git 因为国内网络的原因 clone的时候没有反应 可以多此 Ctrl C 重新 clone 2 下载安装cmake 注意 下载的
  • 毕业设计-基于学习元的双螺旋深度学习模型

    目录 前言 课题背景和意义 实现技术思路 一 基于学习元的深度学习支撑系统 二 双螺旋深度学习模型 三 深度学习的开放课程设计实践 实现效果图样例 最后 前言 大四是整个大学期间最忙碌的时光 一边要忙着备考或实习为毕业后面临的就业升学做准备
  • 网页打开摄像头_听说,考试的时候你打不开摄像头?

    近期真没什么可写的 赶在考试之前就来说一说雨课堂打不开摄像头如何解决吧 先推荐一个检测浏览器摄像头权限的网址 https assistant ceping com qrcode type 1 lng zh 如果在这个网址下摄像头一切正常 雨
  • uplift model增益模型相关术语概念名词汇总

    因果推断 增益模型综述 http proceedings mlr press v67 gutierrez17a gutierrez17a pdf 名词 缩写 英文全称 名词解释 备注 treatment 干预 实验组 control 不干预
  • vscode代码发送至微信开发者工具无法识别mqtt服务器地址(无论正确服务器地址还是错误地址,均不报错也不连接)

    调试器可以正常显示报错 并且小程序界面一也可以更新UI 但是唯独不更新服务器部分的错误 未搜索到相似问题 个人尝试出了一个解决办法 解决了我个人的这个问题 不一定普适 供参考 卸载mqtt npm uninstall mqtt 安装2 18
  • gradle:Connection timed out 问题解决

    gradle Connection timed out 问题解决 gradle Connection timed out 问题解决 先来重现一下问题 公司技术选型使用了gradle作为构建工具 问题重现 使用的系统是windows10 准备
  • fgets函数使用

    一 作用 fgets函数用于从指定的文件流中读取一行字符串 并将其存储到指定的字符数组中 它可以读取包括空格在内的所有字符 直到遇到换行符或文件结束符为止 fgets函数还可以指定最大读取的字符数 以防止缓冲区溢出 二 使用方法 fgets
  • HJ17 坐标移动

    Powered by NEFU AB IN Link 文章目录 HJ17 坐标移动 题意 思路 代码 HJ17 坐标移动 题意 开发一个坐标计算工具 A表示向左移动 D表示向右移动 W表示向上移动 S表示向下移动 从 0 0 点开始移动 从