• # python et deque

    Posté par . En réponse au message Avent du Code, jour 5. Évalué à 2.

    L'énoncé m'a fait tout de suite pensé à deque ; donc même soluce, en moins classieux

    import sys
    from collections import deque
    # init data structure
    S = list()
    for _ in range(9):
     S.append(deque())
    # parse initial positions
    for _ in range(8):
     line = next(sys.stdin)
     for j in range(9):
     c = line[4*j+1]
     if c != " ":
     S[j].append(c)
    next(sys.stdin)
    next(sys.stdin)
    # process
    while line := sys.stdin.readline():
     _, q, _, f, _, t = line.strip().split(" ")
     for _ in range(int(q)):
     S[int(t)-1].appendleft(S[int(f)-1].popleft())
    # print final positions
    print("".join(s.popleft() for s in S))

    Et une deque temporaire pour les CradeMover9001

    import sys
    from collections import deque
    # init data structure
    S = list()
    for _ in range(9):
     S.append(deque())
    # parse initial positions
    for _ in range(8):
     line = next(sys.stdin)
     for j in range(9):
     c = line[4*j+1]
     if c != " ":
     S[j].append(c)
    next(sys.stdin)
    next(sys.stdin)
    # process
    while line := sys.stdin.readline():
     _, q, _, f, _, t = line.strip().split(" ")
     tmp = deque()
     for _ in range(int(q)):
     tmp.append(S[int(f)-1].popleft())
     for _ in range(int(q)):
     S[int(t)-1].appendleft(tmp.pop())
    # print final positions
    print("".join(s.popleft() for s in S))```