题解 | #坐标移动#

坐标移动

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

#include <iostream>
#include <sstream>
#include <utility>
using namespace std;

int main() {
    string s;
    cin >> s;
    istringstream iss(s);
    string word;
    pair<int,int> p = {0,0};
    int step = 0;
    while(getline(iss,word,';')){
        step = 0;
        if(word.size() > 1 ){
            for(int i = 1;i < word.size();++i){
                if(word[i] - '0' > 9 || word[i] - '0' < 0){step = 0;break;}
                step =  (word[i] - '0')+10 * step;
            }
            if(word[0] == 'A')p.first -= step;
            if(word[0] == 'D')p.first += step;
            if(word[0] == 'W')p.second += step;
            if(word[0] == 'S')p.second -= step;
            
        }
    }
    cout << p.first << ','<< p.second << endl;
}
// 64 位输出请用 printf("%lld")

全部评论

相关推荐

不愿透露姓名的神秘牛友
07-07 13:47
机械打工仔:你自己匿名可以,这么好的公司就别给它匿名了
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
昨天 11:31
点赞 评论 收藏
分享
05-20 21:57
已编辑
门头沟学院 Java
喜欢吃卤蛋的悲伤蛙在...:建信融通没消息吧,我2说有实习挂简历不理了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务