L'énoncé m'a fait tout de suite pensé à deque ; donc même soluce, en moins classieux
importsysfromcollectionsimportdeque# init data structureS=list()for_inrange(9):S.append(deque())# parse initial positionsfor_inrange(8):line=next(sys.stdin)forjinrange(9):c=line[4*j+1]ifc!=" ":S[j].append(c)next(sys.stdin)next(sys.stdin)# processwhileline:=sys.stdin.readline():_,q,_,f,_,t=line.strip().split(" ")for_inrange(int(q)):S[int(t)-1].appendleft(S[int(f)-1].popleft())# print final positionsprint("".join(s.popleft()forsinS))
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))```
# python et deque
Posté par steph1978 . 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
Et une deque temporaire pour les CradeMover9001