牛客華爲機試之座標移動

#define _CRT_SECURE_NO_WARNINGS 1 #include<iostream> #include<algorithm> #include<string> using namespace std; #if 1 int main() { string s; while (getline(cin, s)) { int left = 0; int right = 0; int num = 0; auto first = s.begin(); auto last = s.begin(); while (last != s.end()) { if (*last == ';') { if ((*first == 'A' || *first == 'D' || *first == 'W' || *first == 'S') && \ *(first + 1) >= '0'&&*(first + 1) <= '9'&&*(first + 2) >= '0'&&*(first + 2) <= '9' && (first + 3) == last)//判斷輸入是否滿足條件(兩位數運算) { switch (*first) { case'A': left = left - (*(first + 1) - 48) * 10 - (*(first + 2) - 48); break; case'D': left = left + (*(first + 1) - 48) * 10 + (*(first + 2) - 48); break; case'W': right = right + (*(first + 1) - 48) * 10 + (*(first + 2) - 48); break; case'S': right = right - (*(first + 1) - 48) * 10 - (*(first + 2) - 48); break; } } else if ((*first == 'A' || *first == 'D' || *first == 'W' || *first == 'S') && *(first + 1) >= '0'&&*(first + 1) <= '9' && (first + 2) == last)//判斷輸入是否滿足條件(一位數運算) { switch (*first) { case'A': left = left - (*(first + 1) - 48); break; case'D': left = left + (*(first + 1) - 48); break; case'W': right = right + (*(first + 1) - 48); break; case'S': right = right - (*(first + 1) - 48); break; } } last++; first = last; } else last++; } cout << left << ',' << right << endl; s.clear(); } return 0; } #endif
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章