分享一下

#include<bits/stdc++.h>
using namespace std;
int string2int(string str);
bool process(string  str,int& x,int& y);

int main(){
    
    string str;
    getline(cin,str);
    int x,y;
    x = y = 0;
    int start=0;
    for(int i=0;i<str.size();++i){
        if(str[i]==';'){
            int len = i-start;
            if(len>=2){
               string str1 = str.substr(start,len);
               process(str1,x,y);
            }
            start = i+1;
            if(start>str.size())
                break;
        }
    }
    cout<<x<<","<<y;
    return 0;
}

bool process(string  str,int& x,int& y){
    int flag = 1;
    for(int i=1;i<str.size();++i){
        if(i==1&&str[i]=='0'){
            flag = 0;return false;
        }
        if(str[i]<'0'||str[i]>'9'){
            flag = 0;return false;
        }
    }
    int dd;
    if(flag){
        dd = string2int(str.substr(1));
    }
    if(str[0]=='A')
        x = x-dd;
    else if(str[0]=='D')
        x+=dd;
    else if(str[0]=='W')
        y+=dd;
    else if(str[0]=='S')
        y-=dd;
    return true;
}

int string2int(string str){
    int res=0;
    for(int i=0;i<str.size();++i){
        res = (str[i]-'0') + res*10;
    }
    return res;
}