题解 | #坐标移动#

坐标移动

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

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

vector<string> split(char chSigned, const string& strInput) {
    vector<string> vecTokens;
    string strToken;
    istringstream tokenStream(strInput);
    while (getline(tokenStream, strToken, chSigned)) {
        vecTokens.push_back(strToken);
    }
    return vecTokens;
}

int main() {
    string strInput = "";
    getline(cin, strInput);

    vector<string> vecTmp = split(';', strInput);
    int nX = 0, nY = 0;

    for (size_t j = 0; j < vecTmp.size(); j++) {
        if (vecTmp[j].size() != 0) {
            char chDir = vecTmp[j][0];

            if (vecTmp[j].size() != 1) {
                string strStep = vecTmp[j].substr(1);
                int nStep = stoi(strStep);
                //if (regex_match(strStep, regex("\\d+")))
                if (regex_match(strStep, regex("[0-9]*"))) {
                    switch (chDir) {
                        case 'A':
                            nX -= nStep;
                            break;
                        case 'D':
                            nX += nStep;
                            break;
                        case 'W':
                            nY += nStep;
                            break;
                        case 'S':
                            nY -= nStep;
                            break;
                        default:
                            break;
                    }
                }
            }
        }
    }

    cout << nX << "," << nY << endl;
}
// 64 位输出请用 printf("%lld")

全部评论

相关推荐

菜菜咪:1. 可以使用简历网站的模版,美观度会更好一点 2. 邮箱可以重新申请一个,或者用qq邮箱的别名,部分hr可能会不喜欢数字邮箱 3. 项目经历最好分点描述,类似的项目很多,可以参考一下别人怎么写的 4. 自我评价可加可不加,技术岗更看重技术。最后,加油,优秀士兵
点赞 评论 收藏
分享
qz鹿:*** 祝他毕业就失业
点赞 评论 收藏
分享
11-30 11:07
河南大学 Java
宇宙厂 测开 n*15
丘丘给个offer:有后选后
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务