#include <iostream> #include <string> #include <vector> using namespace std; bool check(string s){ if(s.size() > 3 || s.size() == 0) return false; if(s[0] != 'A' && s[0] != 'S' && s[0] != 'W' && s[0] != 'D' ) return false; for(int i = 1; i < s.size(); i++){ if(s[i] < '0' || s[i] > '9') return false; } return true; } int getNumFromString(string s){ int num = 0; for(int i = 1; i < s.size(); i++){ num = num * 10 + (s[i] - '0'); } return num; } int main() { string s; vector<vector<int>> dir(26); dir['A' - 'A'] = {-1,0}; dir['S' - 'A'] = {0,-1}; dir['W' - 'A'] = {0,1}; dir['D' - 'A'] = {1,0}; while (getline(cin, s)) { // 注意 while 处理多个 case int i = 0, n = s.size(); int x = 0, y = 0; while(i < n){ int pos = s.find(';',i); if(pos == string::npos) break; string sub = s.substr(i,pos - i); i = pos + 1; if(!check(sub)) continue; //int num = getNumFromString(sub); int num = stoi(string(sub.begin() + 1,sub.end())); x += dir[sub[0] - 'A'][0] * num; y += dir[sub[0] - 'A'][1] * num; } cout << x << "," << y << endl; } return 0; } // 64 位输出请用 printf("%lld")