문제1466--[종합-심화][PY] 방탈출 게임

1466: [종합-심화][PY] 방탈출 게임

[만든사람 : 2023 박정호,박혜미,백승관,안득하,유현호,이경미,이민혁,임건웅,임수빈,임의정,임태현,한진우,황윤정]
시간제한 : 1.000 sec  메모리제한 : 128 MiB

문제 설명

DH 초등학교의 한 학급에서 모둠별로 방탈출 게임을 하고 있다.
학생들이 하고 있는 방탈출 게임의 일반적인 사항을 소개하면 다음과 같다.
모둠의 수를 m라고 하고, 각 모둠별 구성원의 수를 n이라고 하며, 모둠별로 모든 학생과 방에는 고유의 번호 i(1,2,3...n) 가 부여된다. 
또한, 방 안에는 특별한 상자가 하나 놓여있으며, 그 상자 안을 열어보면 숫자가 하나 적혀있는데 그 숫자(r1, r2, r3,... r... rn)는 특정 방의 번호를 의미한다.
(예를 들어 n=3, r=[3,2,1] 이라면, 총 3명의 학생들이 있는 모둠에서 1번 방에 있는 상자에 적혀있는 번호는 3번이고, 2번 방에 있는 상자에 적혀있는 번호는 2번이며, 3번 방에 있는 상자에 적혀있는 번호는 1번이다.)
게임의 규칙은 다음과 같다.


  1) 모든 게임은 모둠별로 따로 실시한다.
  2) 게임 시작과 동시에 학생들은 자신의 번호와 같은 번호의 방으로 들어간다.
  3) 방에 있는 상자를 열어서 숫자를 확인한다.
  4) 만약, 3)에서 확인한 숫자가 자신의 고유번호와 일치하면 방을 탈출하는 것이다.
  5) 만약, 3)에서 확인한 숫자가 자신의 고유번호와 일치하지 않은면, 다시 그 숫자에 해당하는 방으로 이동하여 3)부터 방을 탈출 할 때까지 다시 수행한다.
  6) 이때, 학생들은 반드시 자신이 상자를 열어본 횟수를 기억해야 하며, 방을 탈출한 이후에 그 횟수를 말해야 한다.
  7) 상자는 반드시 1명씩 열어봐야하며, 상자를 열어보는 순서는 방에 먼저 들어온 순서로 한다.

모든 학생들이 방을 탈출한 이후에 학생별로 상자를 열어본 횟수를 출력하는 프로그램을 개발하시오.

입력 설명

첫 번째 줄에는 모둠의 수인 m이 입력된다. (단, 1 ≤ m ≤ 200)
두 번째 줄부터 모둠별로 학생수와 방별 상자의 수가 입력된다.
모둠별 첫 번째 줄에는 학생수인 n이 입력된다. (단, 1 ≤ n ≤ 200)
모둠별 두 번째 줄에는 방번호 순으로 1번 방부터 순서대로 방별 상자 안의 수(r1, r2, r3,... r... rn)가 공백으로 구분되어 입력된다. (단, 1 ≤ ri ≤ n 이며 중복되는 값은 없다.)

출력 설명

모둠별로 각각의 학생들이 상자를 열어본 횟수를 공백으로 구분하여 출력하시오.

입력 예시 Copy

3
4
4 3 2 1
3
2 3 1
5
3 2 4 5 1

출력 예시 Copy

2 2 2 2 
3 3 3 
4 1 4 4 4