题解 | #坐标移动#
坐标移动
https://www.nowcoder.com/practice/119bcca3befb405fbe58abe9c532eb29
#include <cmath>
#include <iostream>
#include <sstream>
#include <string>
#include <vector>
using namespace std;
bool checkToken(const string& token){
if(token[0]=='A'||token[0]=='W'||token[0]=='S'||token[0]=='D'){
for(int i=1;i<token.size();++i){
if(token[i] >='0' && token[i]<='9'){
}else{
return false;
}
}
}else{
return false;
}
return true;
}
int main() {
int x=0;
int y=0;
string s;
getline(cin, s);
istringstream stream(s);
vector<string> vec;
string token;
while(getline(stream, token,';')){
if(token!="" && checkToken(token)){
vec.emplace_back(token);
}
}
for(int i=0;i<vec.size();++i){
int num = 0;
if(vec[i][0]=='A'){
for(int j=1;j<vec[i].size();++j){
num += pow(10, vec[i].size()-j-1)*(vec[i][j]-'0');
}
x-=num;
}
if(vec[i][0]=='D'){
for(int j=1;j<vec[i].size();++j){
num += pow(10, vec[i].size()-j-1)*(vec[i][j]-'0');
}
x+=num;
}
if(vec[i][0]=='W'){
for(int j=1;j<vec[i].size();++j){
num += pow(10, vec[i].size()-j-1)*(vec[i][j]-'0');
}
y+=num;
}
if(vec[i][0]=='S'){
for(int j=1;j<vec[i].size();++j){
num += pow(10, vec[i].size()-j-1)*(vec[i][j]-'0');
}
y-=num;
}
}
cout<<x<<","<<y;
}
// 64 位输出请用 printf("%lld")


快手公司福利 1244人发布