题解 | #坐标移动#
坐标移动
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);
}
查看10道真题和解析
