| 시간 제한 | 메모리 제한 | 제출 | 정답 | 맞힌 사람 | 정답 비율 |
|---|---|---|---|---|---|
| 1 초 | 1024 MB | 1 | 0 | 0 | 0.000% |
There are $n$ thieves and $k$ prisons. A thief is either on the run or caught in a prison. Initially all thieves are on the run.
A thief who is on the run can be caught by the police, and then ends up in one of the prisons. A thief who is on the run can also open the gate of a prison. Then every thief in that prison is released from the prison. It would be pointless to open the gate of an empty prison, so that never happens.
You are given a list of $m$ events of the form "thief $x$ has been caught" or "thief $x$ has opened the gate of a prison". Your task is to find a prison assignment that corresponds to the events, or determine that it is not possible.
The first input line has three integers $n,ドル $k$ and $m$: the number of thieves, prisons and events. The thieves and prisons are numbered 1,2,ドル\dots,n$ and 1,2,ドル\dots,k$.
After this, there are $m$ lines that describe the events. Each event is "C $x$" (thief $x$ has been caught) or "O $x$" (thief $x$ opens the gate of a prison).
Print a valid prison assignment that consists of $m$ integers: for every event the corresponding prison. If there are no solutions, print "IMPOSSIBLE".
| 번호 | 배점 | 제한 |
|---|---|---|
| 1 | 8 | 1ドル≤n,m≤10,ドル $k=2$ |
| 2 | 13 | 1ドル≤n,k,m≤10^5,ドル $n=k$ |
| 3 | 14 |
1ドル≤n,m≤10^5,ドル $k=2$ |
| 4 | 18 |
1ドル≤n,k,m≤500$ |
| 5 | 47 | 1ドル≤n,k,m≤10^5$ |
3 2 5 C 1 C 2 O 3 O 2 C 1
1 2 2 1 1
1 1 1 O 1
IMPOSSIBLE