题解 | 坐标移动
坐标移动
https://www.nowcoder.com/practice/119bcca3befb405fbe58abe9c532eb29
#include <iostream> using namespace std; bool isnum(string s ) { int len = s.size(); for (int i = 0 ; i < len; i++) { if ('0' <= s[i] && s[i] <= '9')continue; else return false; } return true; } int main() { string s; pair<int, int> p(0, 0); while (getline(cin, s, ';')) { if (s.empty()) continue; string s1 = s.substr(1); if (isnum(s1)) { switch (s[0]) { case 'A' : p.first -= stoi(s1); break; case 'D': p.first += stoi(s1); break; case 'W': p.second += stoi(s1); break; case 'S' : p.second -= stoi(s1); break; default: break; } } } cout<< p.first << ',' << p.second; return 0; } // 64 位输出请用 printf("%lld")
主要是思路,以及字符串的运用;