题解 | #坐标移动#
坐标移动
https://www.nowcoder.com/practice/119bcca3befb405fbe58abe9c532eb29
int main() { char dirct; int distc; int ret; int map[26] = {0}; int x = 0, y = 0; char str[10001]; char *p, *next; scanf("%s", str); p = str; while(next=strchr(p, ';')) { //类似A1A;格式的也能被"%1[ADWS]%d;"获取,这里先判断是否以数字结尾 ret = sscanf(next-1, "%d;", &distc); if(ret == 1) { ret = sscanf(p, "%1[ADWS]%d;", &dirct, &distc); if(ret == 2) map[dirct-'A'] += distc; } p = next+1; } x -= map['A'-'A']; x += map['D'-'A']; y -= map['S'-'A']; y += map['W'-'A']; printf("%d,%d\n", x, y); }