题解 | 坐标移动

import sys

def func(cmd,x,y):
    try:
        if cmd[0] not in ('A','D','W','S'):
            return x,y

        if not cmd[1:].isdigit():
            return x,y

        steps = int(cmd[1:])
        if steps < 1 or steps > 99:
            return x,y


        if cmd[0] == 'A':
            x -= steps
        if cmd[0] == 'D':
            x += steps
        if cmd[0] == 'W':
            y += steps
        if cmd[0] == 'S':
            y -= steps
        return x,y

    except:
        return x,y

for line in sys.stdin:
    x,y = 0, 0
    s = line.strip()
    a = line.split(';')
    for cmd in a:
        x,y = func(cmd, x, y)
    print(f'{x},{y}')
    


全部评论

相关推荐

不愿透露姓名的神秘牛友
07-09 11:15
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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