题解 | #坐标移动#

坐标移动

https://www.nowcoder.com/practice/119bcca3befb405fbe58abe9c532eb29

#include <iostream>
#include <string>
#include <regex>

int main() {
    std::string inp;

    int x = 0;
    int y = 0;

    while (std::getline(std::cin, inp, ';')) {
        if (inp.empty()) continue;
        std::string num_str = inp.substr(1);
        if (num_str.empty()) continue;

        if (std::regex_match(num_str, std::regex("[0-9]*"))) {
            int value = std::stoi(num_str);

            switch(inp[0]) {
                case 'A': x -= value;break;
                case 'D': x += value;break;
                case 'W': y += value;break;
                case 'S': y -= value;break;
                default: break;
            }
        }
    }

    std::cout << x << "," << y << std::endl;
}

全部评论

相关推荐

我已成为0offer的糕手:别惯着,胆子都是练出来的,这里认怂了,那以后被裁应届被拖工资还敢抗争?
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务