만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

라우터 1

시간 제한2초메모리 제한512 MB

요약
N*N이 P_lim을 넘는지에 따라 내부 노드 하나를 쓰는 별 모양 라우터나 완전 이분 라우터를 출력한다.
난이도

쉬움10점 중 3점

유형
그래프, 구현, 시뮬레이션
정답자
아직 제출이 없습니다

문제

헨리와 헤티는 네트워크 장비 회사에 입사했다. 첫 프로젝트는 새 라우터 Connect Ethernet Operating Interface를 만드는 일이다. 라우터는 다음으로 이루어진다.

  • 입력 노드 NN개. 번호는 11번부터 NN번까지다.
  • 출력 노드 NN개. 번호는 N+1N+1번부터 2N2N번까지다.
  • 내부 노드 KK개. 번호는 2N+12N+1번부터 2N+K2N+K번까지다.
  • 서로 다른 두 노드를 잇는 단방향 직접 연결 MM개.

노드 XX가 노드 YY로 데이터를 보낼 수 있다는 것은, 즉 YY가 XX에서 데이터를 받을 수 있다는 것은 다음 중 하나가 성립한다는 뜻이다.

  • X=YX = Y이다.
  • XX가 어떤 노드 ZZ로 데이터를 보낼 수 있고, ZZ에서 YY로 가는 직접 연결이 있다.

XX가 YY로 데이터를 보낼 수 있고 X≠YX \ne Y이면, XX에서 YY로 가는 데이터 경로는 L≥2L \ge 2, A1=XA_1 = X, AL=YA_L = Y를 만족하는 직접 연결의 집합 {(A1,A2),(A2,A3),…,(AL−1,AL)}\{(A_1, A_2), (A_2, A_3), \ldots, (A_{L-1}, A_L)\}이다.

라우터는 다음을 모두 만족할 때 제대로 동작한다.

  • 모든 입력 노드가 모든 출력 노드로 데이터를 보낼 수 있다.
  • 입력 노드는 자기 자신에서만 데이터를 받는다.
  • 출력 노드는 자기 자신으로만 데이터를 보낸다.
  • X≠YX \ne Y인 두 노드 XX, YY에서 XX가 YY로 데이터를 보낼 수 있으면, YY는 XX로 데이터를 보낼 수 없다.
  • X≠YX \ne Y인 두 노드 XX, YY에서 XX가 YY로 데이터를 보낼 수 있으면, XX에서 YY로 가는 데이터 경로는 유일하다. 특히 두 노드를 잇는 직접 연결은 많아야 한 개다.

노드 XX를 작동시키는 데 드는 전력은 PX=INX×OUTXP_X = IN_X \times OUT_X다. INXIN_X는 XX로 데이터를 보낼 수 있는 입력 노드의 개수, OUTXOUT_X는 XX에서 데이터를 받을 수 있는 출력 노드의 개수다. 전체 노드 수를 Ntot=2N+KN_{tot} = 2N + K라고 하면 라우터의 최대 전력은 Pmax=max⁡(P1,P2,…,PNtot)P_{max} = \max(P_1, P_2, \ldots, P_{N_{tot}})다.

NN, MlimM_{lim}, PlimP_{lim}이 주어진다. 제대로 동작하고, 입력 노드와 출력 노드가 각각 NN개이며, 직접 연결을 MlimM_{lim}개 이하로 쓰고, Pmax≤PlimP_{max} \le P_{lim}이며, 노드를 모두 합쳐 500 000500\,000개 이하로 쓰는 라우터를 만들어라. 조건을 만족하는 라우터는 여러 가지라서 출력해야 하는 라우터 하나를 출력 항목에서 정한다.

입력

첫째 줄에 세 정수 NN, MlimM_{lim}, PlimP_{lim}이 공백으로 구분되어 주어진다. NN은 입력 노드와 출력 노드의 개수, MlimM_{lim}은 쓸 수 있는 직접 연결의 최대 개수, PlimP_{lim}은 라우터가 쓸 수 있는 최대 전력이다. (1≤N≤10001 \le N \le 1000, 1≤Mlim≤1061 \le M_{lim} \le 10^6, 1≤Plim≤1061 \le P_{lim} \le 10^6)

N≤PlimN \le P_{lim}이고, 출력 항목에서 정한 라우터가 직접 연결을 MlimM_{lim}개 이하로 쓰는 입력만 주어진다.

출력

아래 규칙으로 정해지는 라우터를 출력한다.

N×N≤PlimN \times N \le P_{lim}이면 내부 노드가 하나인 라우터를 출력한다. 이 라우터는 노드가 Ntot=2N+1N_{tot} = 2N + 1개, 직접 연결이 M=2NM = 2N개다. 먼저 i=1,2,…,Ni = 1, 2, \ldots, N 순서로 연결 i→2N+1i \to 2N+1을 출력하고, 이어서 j=1,2,…,Nj = 1, 2, \ldots, N 순서로 연결 2N+1→N+j2N+1 \to N+j를 출력한다.

그렇지 않으면 내부 노드가 없는 라우터를 출력한다. 이 라우터는 노드가 Ntot=2NN_{tot} = 2N개, 직접 연결이 M=N×NM = N \times N개다. 모든 (i,j)(i, j) 쌍의 연결 i→N+ji \to N+j를 ii가 커지는 순서로, ii가 같으면 jj가 커지는 순서로 출력한다.

첫째 줄에 NtotN_{tot}과 MM을 공백으로 구분해 출력한다. 이어지는 MM개의 줄에는 각각 두 정수 XX와 YY를 출력한다. 노드 XX에서 노드 YY로 가는 직접 연결을 만들었다는 뜻이다.

예제6

  1. 예제 1

    입력
    3 100 200
    
    예상 출력
    7 6
    1 7
    2 7
    3 7
    7 4
    7 5
    7 6
    
  2. 예제 2

    입력
    1 1000000 1000000
    
    예상 출력
    3 2
    1 3
    3 2
    
  3. 예제 3

    입력
    2 100 3
    
    예상 출력
    4 4
    1 3
    1 4
    2 3
    2 4
    
  4. 예제 4

    입력
    5 1000000 25
    
    예상 출력
    11 10
    1 11
    2 11
    3 11
    4 11
    5 11
    11 6
    11 7
    11 8
    11 9
    11 10
    
  5. 예제 5

    입력
    5 1000000 24
    
    예상 출력
    10 25
    1 6
    1 7
    1 8
    1 9
    1 10
    2 6
    2 7
    2 8
    2 9
    2 10
    3 6
    3 7
    3 8
    3 9
    3 10
    4 6
    4 7
    4 8
    4 9
    4 10
    5 6
    5 7
    5 8
    5 9
    5 10
    
  6. 예제 6

    입력
    118 1000000 1000000
    
    예상 출력
    237 236
    1 237
    2 237
    3 237
    4 237
    5 237
    6 237
    7 237
    8 237
    9 237
    10 237
    11 237
    12 237
    13 237
    14 237
    15 237
    16 237
    17 237
    18 237
    19 237
    20 237
    21 237
    22 237
    23 237
    24 237
    25 237
    26 237
    27 237
    28 237
    29 237
    30 237
    31 237
    32 237
    33 237
    34 237
    35 237
    36 237
    37 237
    38 237
    39 237
    40 237
    41 237
    42 237
    43 237
    44 237
    45 237
    46 237
    47 237
    48 237
    49 237
    50 237
    51 237
    52 237
    53 237
    54 237
    55 237
    56 237
    57 237
    58 237
    59 237
    60 237
    61 237
    62 237
    63 237
    64 237
    65 237
    66 237
    67 237
    68 237
    69 237
    70 237
    71 237
    72 237
    73 237
    74 237
    75 237
    76 237
    77 237
    78 237
    79 237
    80 237
    81 237
    82 237
    83 237
    84 237
    85 237
    86 237
    87 237
    88 237
    89 237
    90 237
    91 237
    92 237
    93 237
    94 237
    95 237
    96 237
    97 237
    98 237
    99 237
    100 237
    101 237
    102 237
    103 237
    104 237
    105 237
    106 237
    107 237
    108 237
    109 237
    110 237
    111 237
    112 237
    113 237
    114 237
    115 237
    116 237
    117 237
    118 237
    237 119
    237 120
    237 121
    237 122
    237 123
    237 124
    237 125
    237 126
    237 127
    237 128
    237 129
    237 130
    237 131
    237 132
    237 133
    237 134
    237 135
    237 136
    237 137
    237 138
    237 139
    237 140
    237 141
    237 142
    237 143
    237 144
    237 145
    237 146
    237 147
    237 148
    237 149
    237 150
    237 151
    237 152
    237 153
    237 154
    237 155
    237 156
    237 157
    237 158
    237 159
    237 160
    237 161
    237 162
    237 163
    237 164
    237 165
    237 166
    237 167
    237 168
    237 169
    237 170
    237 171
    237 172
    237 173
    237 174
    237 175
    237 176
    237 177
    237 178
    237 179
    237 180
    237 181
    237 182
    237 183
    237 184
    237 185
    237 186
    237 187
    237 188
    237 189
    237 190
    237 191
    237 192
    237 193
    237 194
    237 195
    237 196
    237 197
    237 198
    237 199
    237 200
    237 201
    237 202
    237 203
    237 204
    237 205
    237 206
    237 207
    237 208
    237 209
    237 210
    237 211
    237 212
    237 213
    237 214
    237 215
    237 216
    237 217
    237 218
    237 219
    237 220
    237 221
    237 222
    237 223
    237 224
    237 225
    237 226
    237 227
    237 228
    237 229
    237 230
    237 231
    237 232
    237 233
    237 234
    237 235
    237 236