#738
모임 찾아가기
원문: English
시간 제한
2s
메모리 제한
1024MB
제출
0
정답
0
맞힌 사람
0
정답 비율
0.0%
문제
민수가 회장으로 있는 알고리즘 동아리 ANA에는 번부터 번까지 번호가 매겨진 명의 부원이 있다. () 각 부원 는 자신만의 개인 연습실을 가지고 있으며, 가장 친한 친구 가 한 명씩 있다. () 가장 친한 친구는 자기 자신일 수도 있으며, 여러 부원이 같은 사람을 가장 친한 친구로 생각할 수도 있다. 부원들은 모임을 즐기기 때문에, 일 () 동안 매일 밤 모임을 열기로 했다.
번째 날 밤에, 부원 는 자신의 연습실에서 타입의 모임을 열기로 결정한다. () 이 모임은 부원 가 다른 타입의 모임을 새로 열 때까지 이후의 모든 밤에도 계속 유지된다.
매일 밤, 모든 부원은 다음 규칙에 따라 하나의 모임에 참여하려고 시도한다:
- 만약 자신이 현재 모임을 열고 있다면, 자신의 연습실에서 열리는 모임에 참여한다.
- 자신이 모임을 열고 있지 않다면, 가장 친한 친구의 연습실을 확인한다. 그곳에 모임이 있다면 그 모임에 참여한다.
- 친구의 연습실에도 모임이 없다면, 친구가 참여하러 가는 곳을 그대로 따라간다. (친구 역시 자신의 친구를 따라갈 수 있다.)
- 만약 이 과정을 반복해도 모임을 찾지 못한다면(예: 친구 관계를 따라가다 순환이 발생했지만 그들 중 아무도 모임을 열지 않은 경우), 그날 밤은 모임에 참여하는 것을 포기한다.
매일 밤, C, O, W 각 타입의 모임에 참여하는 부원의 수를 각각 구하시오.
입력
첫째 줄에 부원의 수 이 주어진다.
둘째 줄에 각 부원의 가장 친한 친구 번호 이 공백으로 구분되어 주어진다.
셋째 줄에 모임이 열리는 기간 이 주어진다.
이어서 개의 줄에 걸쳐, 번째 날 밤에 모임을 여는 부원의 번호 와 모임의 타입 가 공백으로 구분되어 주어진다. (; )
출력
개의 줄을 출력한다. 번째 줄에는 번째 날 밤에 C, O, W 타입의 모임에 참여한 부원의 수를 공백으로 구분하여 순서대로 출력한다.
제한
- 서브태스크 1:
- 서브태스크 2:
- 서브태스크 3: 는 부터 까지의 수로 이루어진 순열이다.
- 서브태스크 4: 추가 제약 조건이 없다.
예제 입력 1
5
2 3 4 5 4
4
2 C
4 C
4 W
2 O
예제 출력 1
2 0 0
5 0 0
2 0 3
0 2 3
코드 제출
코드를 제출하려면 로그인이 필요합니다.
로그인내 제출
제출 내역이 없습니다.
맞은 사람
아직 맞은 사람이 없습니다.
난이도 투표
로그인 후 AC 받으면 투표할 수 있습니다.
전체 제출
제출 내역이 없습니다.