#include <iostream>
using namespace std;

int main() {
    string s;
    cin>>s;
    int len = s.length();
    int x = 0,y = 0; 
    bool flag = true;
    for(int i = 0;i<len;i++){
        if((s[i]=='A'||s[i]=='D'||s[i]=='W'||s[i]=='S')){
            if(i!=0&&s[i-1]==';'||i==0){
                int res = 0;
                int idx = i,ok = 1;;
                i++;
                while (s[i]!=';') {
                    if(s[i]<'0'||s[i]>'9'||(s[i]>='A'&&s[i]<='Z')){
                        ok = 0;
                        i++;
                        break;
                    }
                    res = res*10+(s[i]-'0');
                    i++;
                }
                
                if(!ok){
                    while(s[i]!=';'){
                        i++;
                    }
                    continue;
                }
                if(res>99||res<1){
                    continue;
                }
                if(s[idx]=='A'){
                    x-=res;
                }
                if(s[idx]=='D'){
                    x+=res;
                }
                if(s[idx]=='W'){
                    y+=res;
                }
                if(s[idx]=='S'){
                    y-=res;
                }

                // cout<<res<<' '<<idx<<"**\n";
            }
            
        }
        
    }

    cout<<x<<","<<y;
}
// 64 位输出请用 printf("%lld")

以分号为间隔符,我重点处理了';',如果在开头则正常处理就行,但在句中每段开始前必为';'

活动地址https://www.nowcoder.com/discuss/726480854079250432