#P12414. 「YLLOI-R1-T3」一路向北

「YLLOI-R1-T3」一路向北

题目背景

一路向北

题目描述

给定 nn 个队列,每个队列中有 mm 个正整数,这些数均小于等于 nn,第 ii 个队列的第 jj 个元素为 ai,ja_{i,j}ai,1a_{i,1} 为队首,ai,ma_{i,m} 为队尾。

现在你的手中拿着一个数字 00,你要选择一个队列将 00 放到其队尾,并把其队首拿到手中。

接下来你将重复进行一个操作直到再次把 00 拿回手中:

  • 设你手中的数字为 pp,将其放到第 pp 个队列的队尾,并把第 pp 个队列的队首拿到手中。

现在小 Y 想知道,在无限的时间中,你是否可以不再拿回 00?如果可以,则输出 Yes,否则输出 No

输入格式

本题有多组测试数据。

第一行一个整数 TT,表示数据组数。

对于每组数据:

第一行两个正整数 n,mn,m

接下来 nn 行,每行 mm 个正整数,第 ii 行第 jj 个数表示 ai,ja_{i,j}

输出格式

对于每组数据,输出一行:

在无限的时间中,若你可以不再拿回 00,则输出 Yes,否则输出 No

1
3 2
2 2
3 3
1 1
No
1
3 2
2 1
3 3
2 2
Yes

提示

【样例解释#1】

以下模拟一开始将 00 放到第 11 个队列的情况。

//手中数字:
0
//队列数字:(左边第一个为队首,右边第一个为队尾)
2 2
3 3
1 1
//手中数字:
2
//队列数字:
2 0
3 3
1 1
//手中数字:
3
//队列数字:
2 0
3 2
1 1
//手中数字:
1
//队列数字:
2 0
3 2
1 3
//手中数字:
2
//队列数字:
0 1
3 2
1 3
//手中数字:
3
//队列数字:
0 1
2 2
1 3
//手中数字:
1
//队列数字:
0 1
2 2
3 3
//手中数字:
0
//队列数字:
1 1
2 2
3 3

【样例解释#2】

通过模拟可以发现当且仅当一开始把 00 放到第 11 个队列时,才可以不再拿回 00。因为在经过了若干轮后第 22 个队列会被 22 填满,并且手中的数字也是 22,所以将在第 22 个队列一直循环。

【数据范围】

本题采用捆绑测试。

  • Subtask 1(20 pts):n2n\le2
  • Subtask 2(10 pts):ai,j=i\forall a_{i,j}=i
  • Subtask 3(20 pts):n×m1000n\times m \le 1000
  • Subtask 4(50 pts):无特殊限制。

对于全部数据,保证 1T101\le T\le 101n×m1051\le n\times m\le 10^51ai,jn1\le a_{i,j}\le n