P11580 [CCC 2020] Escape Room

题目背景

本题译自 [Canadian Computing Competition](https://cemc.uwaterloo.ca/resources/past-contests?contest_category=29) [2020 Senior](https://cemc.uwaterloo.ca/sites/default/files/documents/2020/2020CCCSrProblemSet.html) T2/[2020 Junior](https://cemc.uwaterloo.ca/sites/default/files/documents/2020/2020CCCJrProblemSet.html) T5 Escape Room。

题目描述

你需要判断是否可以从一个房间逃脱。房间是一个 $m$ 行 $n$ 列的矩阵,每个位置包含一个正整数。我们用 $(x,y)$ 表示第 $x$ 行,第 $y$ 列的单元格。 当你从 $(1,1)$ 开始,并成功走到 $(m,n)$ 时,你便成功逃脱了。如果你在一个包含值 $num$ 的单元格中,那么若你可以跳到 $(x,y)$,当前仅当 $x \times y=num$。例如,如果你在一个包含 $6$ 的单元格中,你可以跳到单元格 $(2,3)$。

输入格式

第一行一个整数 $m(1 \le m \le 1000)$,表示网格的行数。 第二行一个整数 $n(1\le n \le 1000)$,表示网格的列数。 接下来 $m$ 行,每行 $n$ 个整数,表示当前格子中的值 $num(1 \le num \le 10^6)$。

输出格式

如果可以从房间逃脱,则输出 `yes`。否则输出 `no`。

说明/提示

#### 【样例解释】 从 $(1,1)$ 开始,其包含的值为 $3$,从这里可以跳到单元格 $(1,3)$。 这个单元格包含 $8$,因此从这里可以跳到单元格 $(2,4)$。 这个单元格包含 $12$,因此从这里可以跳到单元格 $(3,4)$。 #### 【数据范围】 **本题采用捆绑测试**。 由于原题 Subtask 分值,本题满分 105 分。 | Subtask | 特殊性质 | 分值 | | :----------: | :----------: | :----------: | | 1 | $m=n=2$ | 7 | | 2 | $m=1$ | 14 | | 3 | 所有单元格中的整数是唯一的 | 28 | | 4 | $1\le m,n \le200$ | 28 | | 5 | 无 | 28 |