#include <iostream>
#include<vector>
#include<string>
using namespace std;
int main() {
int x = 0, y = 0;
vector<string>vec;
string s;
getline(cin, s);
int pos = 0;
for (int i = 0; i < s.size(); i++) {
if (s[i] == ';') {
vec.push_back(s.substr(i - pos, pos));
pos = 0;
} else pos++;
}
int num;
for (int i = 0; i < vec.size(); i++) {
int num=0;
if (vec[i].size() == 3) {
if (vec[i][1] >= '0' && vec[i][1] <= '9' && vec[i][2] >= '0' && vec[i][2] <= '9') {
num=(vec[i][1]-'0')*10+vec[i][2]-'0';
}
} else if (vec[i].size() == 2) {
if (vec[i][1] >= '1' && vec[i][1] <= '9') {
num=vec[i][1]-'0';
}
} else continue;
switch (vec[i][0]){
case 'A':x -= num;break;
case 'D':x += num;break;
case 'W':y += num;break;
case 'S':y -= num;break;
default:break;}
}
cout<<x<<','<<y;
return 0;
}
// 64 位输出请用 printf("%lld")
解题关键:
用数组对有效字符串进行提取,并对数组进行遍历。根据字符串第一个字母的类型,进行条件判断,对坐标进行相应的运算。#牛客AI配图神器#

京公网安备 11010502036488号