#include <stdio.h>
#include <string.h>
// 多行注释 ctrl+/
/*char *token
token = strtok(str, 分割符);
while( token != NULL ) {
printf( "%s\n", token );
token = strtok(NULL, 分割符);
}
*/
//原字符串str的改动是分割符原位置均更改为 '\0',内容还在,可以通过逐个字符打印检验。
//但输出 %s str 是第一个子字符串
//理解strtok将str分割符原位置均更改为 '\0' token指向第一个子字符串
//剩余存入NULL 所以会有循环取用
//分割+合格的被存储
//计算坐标
//警告 定义字符串要char num[] 或者 *num 不能char num (这只有一个字符)
//警告 判断相等 ==
int islegal(char *str);
int main()
{
char str[10001] = {0};
char *temp;
int A = 0, W = 0, S = 0, D = 0;
int tnum = 0;
int num;
//gets(str);
scanf("%s",str);
temp = strtok(str, ";");
while (temp != NULL)
{
tnum = islegal(temp);
if (tnum)
{ num = temp[1]-'0';
if(tnum == 3)
num =num*10+ temp[2]-'0';
if (temp[0] == 'A')
A += num;
else if (temp[0] == 'W')
W += num;
else if (temp[0] == 'S')
S += num;
else if (temp[0] == 'D')
D += num;
}
temp = strtok(NULL, ";");
}
int x = 0, y = 0;
x = x + D - A, y = y + W - S;
printf("%d,%d", x, y);
return 0;
}
int islegal(char *str)
{
int ret = strlen(str);
if (strlen(str) != 2 && strlen(str) != 3)
ret = 0;
else if (str[0] != 'A' && str[0] != 'W' && str[0] != 'S' && str[0] != 'D')
ret = 0;
else
{
if (str[1] > '9' || str[0] < '0')
ret = 0;
if (str[2] != '\0' && (str[2] > '9' || str[2] < '0'))
ret = 0;
}
return ret;
}