-
[백준] 22858번: 원상 복구 (small) (Python)Algorithm PS👩🏻💻/백준 2023. 5. 7. 17:37
문제 링크
https://www.acmicpc.net/problem/22858
22858번: 원상 복구 (small)
수가 적혀있는 $P_1, P_2, ..., P_N$ $N$개의 카드가 있다. 1부터 N까지 수가 하나씩 존재하는 $D_1, D_2, ... , D_i , ... D_N$ 가 있다. 이때 $D_i$는 $P_{D_i}$ 값을 $i$ 번째로 가지고 오는 것을 의미한다. 이러한
www.acmicpc.net
풀이 코드
- P 카드를 D의 규칙에 따라 이동하는 문제
- 원래 카드인 P를 다시 찾는 것이므로 결과 카드인 S를 D의 규칙 반대로 이동시키기.
- P[Di] 카드를 i번째로 옮기기 -> S[i] 카드를 Di로 옮기기
from copy import deepcopy n, k = map(int, input().split()) s = [0] + list(map(int, input().split())) d = [0] + list(map(int, input().split())) p = [0] * (n + 1) for _ in range(k): for i in range(1, n + 1): p[d[i]] = s[i] s = deepcopy(p) print(*p[1:])
'Algorithm PS👩🏻💻 > 백준' 카테고리의 다른 글
[백준] 21314번: 민겸 수(Python) (0) 2023.05.14 [백준] 2615번: 오목 (완전탐색, Python) (0) 2023.05.10 [백준] 2887번: 행성 터널(그래프, Python) (1) 2023.05.10 [백준] 20438번: 출석체크 (Python) (0) 2023.05.04 [백준] 1541번: 잃어버린 괄호 (Python) (1) 2023.04.23