题目背景
翻译自 ROIR 2019 D2T4。
题目描述
宇宙考古科学家在邻近星系的一颗行星上发现了 n 件古代文物,并将它们编号为 1 到 n。每件文物有 k 个不同的参数,每个参数都是一个整数。文物 i 的参数为 ai,1,ai,2,…,ai,k。他们惊奇的发现,所有文物的第一个参数都是不同的,即对于所有 i=j,都有 ai,1=aj,1。但是,其他参数可能相同。
科学家们还发现了一段文字,根据这段文字,要激活文物,需要将它们按特定方案配对。称一个配对方案是有效的,当且仅当对于每个 1≤t≤k,可以确定一个数 bt,使其在每对文物的第 t 个参数值之间。也就是说,在这个配对方案中,对于所有配对的文物 i 和 j,必须满足 ai,t≤bt≤aj,t 或 ai,t≥bt≥aj,t。
现在,科学家们想知道这段文字是否解读正确。为此,你需要需要判断是否存在有效的配对方案,使得所有文物可以两两正确配对。如果可以,你还需要找到这样一个配对方案。
输入格式
第一行输入两个整数 n 和 k,表示文物数量和参数数量。
接下来 n 行,每行包含 k 个整数 ai,1,ai,2,…,ai,k,表示文物的参数。
输出格式
如果不存在有效的配对方式,输出 NO
。
否则,第一行输出 YES
。接下来 2n 行,每行包含两个整数,表示配对的文物编号。每个文物只能出现一次。
如果有多个合法的配对方案,可以输出任意一个。
提示
样例解释
样例 1 中,一个合法的配对方案为 (8,6)−(3,1),(1,5)−(7,2),(6,3)−(4,7)。此时可以选择 b1=b2=4。
数据范围
数据中 Subtask 0 为样例。
子任务 |
分值 |
特殊性质 |
1 |
10 |
n≤10 |
2 |
7 |
k=1 |
3 |
15 |
对于任意 t,所有 ai,t 互不相同 |
4 |
k≤2 |
5 |
26 |
n≤400 |
6 |
27 |
无特殊性质 |
对于 100% 的数据,2≤n≤2×105,n 为偶数,1≤k≤7,∣ai,j∣≤109,所有 ai,1 互不相同。