题解 | #坐标移动#

坐标移动

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")

全部评论

相关推荐

牛客鼠:校友你这简历基本无敌了,春招刷刷题去冲大厂
点赞 评论 收藏
分享
黑皮白袜臭脚体育生:简历条例统一按使用了什么技术实现了什么功能解决了问题或提升了什么性能指标来写会好些,如使用布隆过滤器实现了判断短链接是否存在,大大提升了查询速度
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务