Logo Infinity Online Judge

InfOJ

时间限制:1 s 空间限制:512 MB

#147. [NOI Online 2022] 讨论

统计

数据组成

由官方数据 + infoj 民间数据组成(民间数据存在于 extra test 中)。

请注意,本题 extra test 中一个人会做的题可能重复,如果您的代码不能处理重复(题目中确实说了 集合),可以尝试读入加一个 unique。

  • 对于 vectorv.resize(unique(v.begin(),v.end())-v.begin());
  • 对于数组 a[1..n]n=unique(a+1,a+n+1)-a-1;
  • 对于数组 a[0..n-1]n=unique(a,a+n)-a;

题目描述

有 $n$ 个人正在打模拟赛,模拟赛有 $n$ 道题目。

有两人都会的题目并且没有人会的题目包含另一个人时,两者之间才会讨论。

(定义第 $i$ 个人会的题目的集合为 $S_i$ ,即当 $S_x\cap S_y\neq\varnothing\land S_x\not\subseteq S_y\land S_y\not\subseteq S_x$ 时,第 $x$ 人和第 $y$ 人会讨论)

为了让模拟赛的效果更好,希望你可以找出一对会讨论的人或判断不存在。

输入格式

第一行一个正整数 $T$ 表示数据组数,对于每组数据:

第一行一个正整数 $n$ 表示人数和题目数量。

接下来 $n$ 行,第 $i$ 行第一个自然数 $k_i$ 表示第 $i$ 个人会 $k_i$ 道题。接下来 $k_i$ 个正整数,每个数 $x$ 表示第 $i$ 个人会第 $x$ 道题。

输出格式

对于每组数据:

如果没有会讨论的人,输出 NO

否则第一行输出 YES,第二行输出两个正整数 $x$ 和 $y$,表示第 $x$ 人和第 $y$ 人会讨论。

如果有多种方案,输出任意一种即可。

输入输出样例

样例输入 1

2
5
4 1 2 3 5
3 1 2 3
2 1 2
1 1
1 4
4
3 1 2 3
3 2 3 4
0
4 1 2 3 4

样例输出 1

NO
YES
1 2

数据范围

对于所有测试点:令一组数据中 $m=\sum k_i$,则 $1\le T\le 5$,$1\le \sum n\le {10}^6$,$1\le \sum m\le 2\times {10}^6$,$0\le k_i\le n$。

每个测试点的具体限制见下表: