| 시간 제한 | 메모리 제한 | 제출 | 정답 | 맞힌 사람 | 정답 비율 |
|---|---|---|---|---|---|
| 1 초 | 1024 MB | 44 | 5 | 5 | 12.821% |
기말고사가 막 끝난 tapris는 공장 시뮬레이션 게임을 하기 위해 컴퓨터 앞에 앉았다.
공장 시뮬레이션 게임에서 각 공장은 다음과 같이 동작한다.
공장 시뮬레이션 게임에서 자동화를 위한 목표는 각 공장에 대해 분당 투입량이 다른 공장에서 산출되어 투입되는 아이템 개수의 합과 같도록 만드는 것이다. 만약 분당 투입량과 다른 공장에서 산출되어 투입되는 아이템 개수의 합이 같지 않다면, 시간이 지나 공장은 정상적으로 작동하지 않고 멈추게 된다.
tapris는 자동화를 위해 이미 존재하는 $N$개의 공장 외의 새 공장을 더 지으려고 했지만 공간이 부족해 오버클럭 기능으로 모든 공장을 멈추지 않게 만들려고 한다. 오버클럭 기능은 다음과 같이 동작한다.
다시 말해서, 모든 각 $i$번 공장에 대해 $i$번 공장에 투입되는 아이템이 $j$번 공장에서 산출된다고 할 때 다음 식을 만족해야 한다.
$$ \sum_{j: D_j = i} (O_j \times K_j) = I_i \times K_i \quad (i = 1, \cdots, n) $$
tapris를 도와 오버클럭 기능을 통해 모든 공장이 정상적으로 돌아가도록 할 수 있는지 확인해 보자.
첫째 줄에 존재하는 공장의 수 $N$이 주어진다.
그다음 줄부터 $N$개의 줄에 걸쳐 $i$번 공장의 분당 입력 아이템 수 $I_i,ドル 분당 출력 아이템 수 $O_i,ドル $O_i$가 0ドル$이 아니라면 출력부와 이어진 공장의 번호 $D_i$가 주어진다.
모든 공장이 돌아가는 경우가 존재한다면, 그중 하나를 $N$개의 줄에 걸쳐 각 1ドル$번부터 $N$번 공장까지 오버클럭 배율 $K_i$를 출력한다.
불가능한 경우, 첫째 줄에 stop을 출력한다.
입력으로 주어지는 수는 모두 정수이다.
5 0 3 2 4 0 0 4 4 2 0 2 2 5
4 3 1 2 100
4 0 3 3 0 5 3 9 1 4 2 0
1 3 2 1
3 0 10 2 2 1 3 2 1 2
3 20 10
2 1 2 2 1 2 1
stop
University > 국민대학교 > 2025 KPSC Summer Algorithm Challenge I번