题解 | #坐标移动#

坐标移动

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

#include <cstdio>
#include <iostream>
#include <string>
using namespace std;

int main() {
    string str;
    cin>>str;
    int x=0, y=0;
    while (true) {
        if (str.length()<2) {
            break;
        }
        auto index = str.find(";");
        if (string::npos == index) {
            break;
        }

        string tmp=str.substr(0, index);
        str=str.substr(index+1);
        
        int move=0;
        if (tmp.length()==2) {
            move = tmp[1]-'0';
            move = move>10 ? 0:move;
        }
        else if (tmp.length()==3) {
            if (tmp[1]-'0' >10 || tmp[2]-'0'>10) {
                continue;
            }
            move = tmp[2]-'0' + 10*(tmp[1]-'0');            
        }

        switch (tmp[0]) {
        case 'A':
            x-=move;
            break;
            case 'D':
            x+=move;
            break;
            case 'W':
            y+=move;
            break;
            case 'S':
            y-=move;
            break;
        }
    }
    printf("%d,%d", x,y);
}
// 64 位输出请用 printf("%lld")

主要是对输入的校验

全部评论

相关推荐

11-28 17:58
门头沟学院 Java
美团 JAVA开发 n×15.5
牛客786276759号:百度现在晋升很难的 而且云这块的业务没美团好 你看百度股价都跌成啥样了
点赞 评论 收藏
分享
10-09 19:35
门头沟学院 Java
洛必不可达:java的竞争激烈程度是其他任何岗位的10到20倍
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务