| 시간 제한 | 메모리 제한 | 제출 | 정답 | 맞힌 사람 | 정답 비율 |
|---|---|---|---|---|---|
| 1 초 (추가 시간 없음) | 1024 MB (추가 메모리 없음) | 76 | 17 | 14 | 35.000% |
Jump Trading 은 전 세계에 흩어진 서버들로 이루어진 네트워크를 통해 초단타 트레이딩(HFT)을 하고자 한다.
네트워크는 $N$개의 서버와 $M$개의 통신 링크로 구성되어 있다. 각 서버는 $1$번부터 $N$번까지의 번호로, 각 통신 링크는 $1$번부터 $M$번까지의 번호로 구분된다. 네트워크의 서로 다른 두 서버 사이에는 거래 정보를 전송할 수 있는 통신 링크가 최대 하나 존재하며, 특이하게도 통신 링크를 통한 전송은 단방향으로만 이루어질 수 있다. 초기에는 모든 통신 링크의 방향이 정해져 있지 않으며, 방향을 무시할 경우 모든 서버는 하나 이상의 통신 링크를 통해 직간접적으로 연결되어 있다.
초단타 트레이딩에서 네트워크 지연을 최소화하는 것은 중요하다. 이를 위해 Jump Trading은 현재 방향이 설정되어 있지 않은 통신 링크들의 방향을 적절히 설정해 전파 깊이가 얕은 네트워크를 구성하고자 한다. 구성된 네트워크는 다음 조건을 만족해야 한다.
모든 통신 링크들의 방향을 적절히 설정해 조건을 만족하는 네트워크를 만들 수 있는지 판별하고, 가능하다면 구성하여라.
첫째 줄에 테스트 케이스의 수 $T$가 주어진다. ($1\le T\le 100$)
각 테스트 케이스의 첫째 줄에는 서버의 수 $N$과 통신 링크의 수 $M$이 공백으로 구분되어 주어진다. ($2\leq N\leq 1\, 000$; $1\leq M\leq 2\, 000$)
이후 $M$개의 줄에 걸쳐, 그 중 $i$번째 줄에는 $i$번째 통신 링크가 연결하는 두 서버의 번호 $U_i$, $V_i$가 공백으로 구분되어 주어진다. ($1\leq U_i,V_i\leq N$; $U_i\neq V_i$)
서로 다른 두 서버를 직접 연결하는 통신 링크는 최대 하나이며, 방향을 무시할 경우 모든 서버는 하나 이상의 통신 링크를 통해 직간접적으로 연결되어 있다.
각 테스트 케이스에 대한 답을 $T$개의 줄에 걸쳐 순서대로 출력한다.
각 테스트 케이스에 대해, 만약 문제의 조건을 만족하는 네트워크를 구성할 수 없다면 $-1$을 출력한다. 문제의 조건을 만족하는 네트워크를 구성할 수 있다면 $M$개의 수를 공백으로 구분해 출력한다. $i$번째 수는 $i$번째 통신 링크의 방향이 정방향($U_i\rightarrow V_i$) 이라면 $0$, 역방향($V_i\rightarrow U_i$) 이라면 $1$이다. 문제의 조건을 만족하는 네트워크가 여러 가지라면 그중 아무 것이나 출력한다.
3 3 3 1 2 2 3 3 1 4 4 1 2 2 3 3 4 4 1 5 5 1 2 2 3 3 4 4 5 5 1
1 1 1 0 1 0 1 -1
1 4 5 1 2 1 3 1 4 2 4 3 4
1 1 0 0 0
1 12 12 1 2 2 3 3 1 1 4 1 5 2 6 2 7 1 8 8 9 9 10 10 11 10 12
1 1 0 1 1 1 1 1 0 1 1 1
University > 전국 대학생 프로그래밍 대회 동아리 연합 > UCPC 2025 M번