坐标移动
坐标移动
http://www.nowcoder.com/questionTerminal/119bcca3befb405fbe58abe9c532eb29
#include<bits/stdc++.h> using namespace std; int main() { string s; while(cin >> s) { vector<string> v; while(s.find(';') != string::npos) { string temp = s.substr(0, s.find(';')); v.push_back(temp); s = s.substr(s.find(';') + 1, s.size() - temp.size()); } int W, A, S, D; W = A = S = D = 0; for(auto it : v) { int flag = 1; int num = 0; for(int i = 0; i < it.size(); i++) { if(i == 0 && (it[i] != 'W' && it[i] != 'A' && it[i] != 'S' && it[i] != 'D')) { flag = 0; break; } if(i > 0) { if(it[i] >= '0' && it[i] <= '9') { num = num * 10 + it[i] - '0'; } else { flag = 0; break; }} } if(flag) { if(it[0] == 'W') W += num; if(it[0] == 'A') A += num; if(it[0] == 'S') S += num; if(it[0] == 'D') D += num; } } cout << D - A << "," << W - S << endl; } return 0; }