题解 | #坐标移动#

坐标移动

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);
}


全部评论

相关推荐

叁六玖:你看,最后不是让你加油,就是鼓励你,还祝福你求职顺利。
点赞 评论 收藏
分享
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务