loj#P3032. 「JOISC 2019 Day1」馕

「JOISC 2019 Day1」馕

题目描述

题目译自 JOISC 2019 Day1 T3「ナン / Naan

JOI 咖喱店以提供很长(?)的馕而闻名。它提供的馕有 LL 种口味,编号从 11LL。「JOI 特色馕」是店内最受欢迎的一道菜。馕的总长度为 LL 厘米。我们定义「点 XX」为馕上距离馕左端 XX 厘米处的点。对于 1jL1 \le j \le L,点 j1j-1 和点 jj 间的一段馕是第 jj 种口味的。

NN 个人来到了 JOI 咖喱店,他们每个人的偏好都不同,具体的说,第 ii 个人每吃一厘米的风味 jj 的馕,就会获得 Vi,jV_{i,j} 的快乐度。

他们只买了一个 JOI 特色馕,他们将用下面的方式分享馕:

  1. 选择 N1N-1 个分数 X1,,XN1X_1, \ldots, X_{N-1},满足 0<X1<X2<<XN1<L0 < X_1 < X_2 < \ldots < X_{N-1} < L
  2. 选择 NN 的一个排列 P1,PNP_1, \ldots P_N
  3. 对于每一个 k(1kN1)k (1 \le k \le N-1),在点 XkX_k 的位置切一刀,然后馕将被切成 NN 个部分。
  4. k(1kN)k (1 \le k \le N) 个部分的左端点为 Xk1X_{k-1},右端点为 XkX_{k},这里我们认为 X0=0,XN=LX_0=0, X_N=L
  5. PiP_i 个人将吃掉第 ii 个部分。

现在他们想公平的分配馕,他们认为一种分配方法是公平的,当且仅当每个人获得的快乐度都不小于他们独吞整个馕所获得的快乐度的 1N\frac{1}{N}

现在给你 NN 个人的信息,你需要判断是否存在一种公平的分配方式,如果存在,输出一组分配方案。

输入格式

从标准输入中读取数据。

第一行两个整数 N,LN, L
接下来 NN 行,每行 LL 个整数,第 ii 行第 jj 个数为 Vi,jV_{i,j}

输出格式

输出数据到标准输出中。

如果无解,输出一行 -1

如果有解,首先输出 N1N-1 行,第 ii 行两个整数 Ai,BiA_i, B_i,要求 Ai,BiA_i, B_i 是一对满足 Xi=AiBi(1iN)X_i = \frac{A_i}{B_i} (1 \le i \le N) 的整数对。

接下来一行 NN 个整数,第 ii 个数表示 PiP_i

你的输出需要满足:

  • 1Bi109(1iN)1 \le B_i \le 10^9 (1 \le i \le N)
  • $0 < \frac{A_1}{B_1} < \frac{A_2}{B_2} < ... < \frac{A_{N-1}}{B_{N-1}} < L$。
  • P1,...,PNP_1, ... ,P_N 是一个 1,...,N1, ..., N 的排列。
  • ii 个人获得的总快乐度不小于 $\frac{V_{i,1}+V_{i,2}+...+V_{i,L}}{N} (1 \le i \le N)$。
  • Ai,BiA_i, B_i 不必互质。

可以证明,如果输入数据有解,那么一定存在一组满足上述条件的解。

2 5
2 7 1 8 2
3 1 4 1 5
14 5
2 1
7 1
1
2
3
4
5
6
7
1 7
2 7
3 7
4 7
5 7
6 7
3 1 4 2 7 6 5
5 3
2 3 1
1 1 1
2 2 1
1 2 2
1 2 1
15 28
35 28
50 28
70 28
3 1 5 2 4

数据范围与提示

Subtask # 分值 数据规模
1 5 N=2N = 2
2 24 $N \le 6,V_{i,j} \le 10 (1 \le i \le N,1 \le j \le L)$
3 71 无特殊限制

对于所有输入数据,有 $1 \le N \le 2000,1 \le L \le 2000, 1 \le V_{i,j} \le 10^5 (1 \le i \le N,1 \le j \le L)$。

Checker by @EntropyIncreaser