题解 | #坐标移动#

坐标移动

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

#include <iostream>
#include <vector>
using namespace std;

vector<int> calculateCoord(string str)
{
    vector<int> v;
    int x = 0, y = 0, feet = 0;

    for (int i = 0; i < str.length(); i++){
        if (str[i] == 'A' || str[i] == 'D' || str[i] == 'W' || str[i] == 'S'){
           ////////////////////////////
            // cout << " 1111111: "<< str[i] << ", i : " <<i 
            // << ",  str.length:" <<str.length() << endl;

            if (i > 1 && str[i-1] != ';') continue;

            string s = str.substr(i+1, str.length() - i);

            int p = s.find(';');
            feet = 0;
            if (p > 0){
                string tmp = s.substr(0, p);
                for (int j = 0; j < tmp.length(); j++){
                    if (tmp[j] >= '0' && tmp[j] <= '9'){
                        feet = feet*10 + tmp[j] - '0';
                    }
                    else{
                        feet = -1; break;
                    }
                }
            }
           ////////////////////////////
            // cout << str[i] << ": " << feet << endl;

             if (feet > 0){
                    if (str[i] == 'A'){ 
                        x -= feet;
                    }
                    else if (str[i] == 'D'){
                        x += feet;
                    }
                    else if (str[i] == 'W'){
                        y += feet;
                    }
                    else if (str[i] == 'S'){
                        y -= feet;
                    }
                }
        }
    }

    v.push_back(x);
    v.push_back(y);
    return v;
}

int main() {
    string str;
    getline(cin, str);

    vector<int> v = calculateCoord(str);
    if (v.size() > 1){
        cout << v[0] << "," << v[1] <<endl;
    }
    return 0;
}
// 64 位输出请用 printf("%lld")

全部评论

相关推荐

10-09 09:39
门头沟学院 C++
HHHHaos:这也太虚了,工资就一半是真的
点赞 评论 收藏
分享
10-07 23:57
已编辑
电子科技大学 Java
八街九陌:博士?客户端?开发?啊?
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务