QOJ.ac

QOJ

حد الوقت: 2.0 s حد الذاكرة: 512 MB مجموع النقاط: 100 قابلة للهجوم ✓

#16714. 风神

الإحصائيات

在他著名的旅程中,奥德修斯(Odysseus)访问了由风之守护者埃俄罗斯(Aeolus)统治的埃奥利(Aeoli)岛。奥德修斯在那里度过了一个月,休息并向埃俄罗斯讲述他故事中引人入胜的曲折情节。一天晚上,奥德修斯问埃俄罗斯,他是否能够在一个特定大小的环面地图上建立任意的风向循环。

正式地,考虑一个 $n \times m$ 的矩形网格。该网格是环面(toroidal)的,这意味着最上方的水平网格边与最下方的水平网格边等同,最左侧的垂直网格边与最右侧的垂直网格边等同。因此,总共有 $2nm$ 条不同的网格边。我们将从上往下数第 $i$ 行、从左往右数第 $j$ 列的单元格表示为单元格 $(i, j)$(两个索引均从 0 开始)。

将“风”定义为给每条网格边任意分配的整数。这些数字的表示方法如下图所示,即 $r_{i,j}$ 是分配给网格单元 $(i, j)$ 上边界的整数,$c_{i,j}$ 是分配给网格单元 $(i, j)$ 左边界的整数。请注意,由于网格是环面的,因此没有独立定义的 $r_{n,j}$ 和 $c_{i,m}$ 值,但为了简单起见,我们定义 $r_{n,j}$ 等于 $r_{0,j}$,且 $c_{i,m}$ 等于 $c_{i,0}$。

$r_{i,j}$ 的正值对应于从左向右流动的风,负值对应于从右向左流动的风。$r_{i,j}$ 的绝对值定义了风流量的大小。类似地,正的 $c_{i,j}$ 对应于从上向下流动的风,负的 $c_{i,j}$ 对应于从下向上流动的风。

埃俄罗斯能够制造单位气旋(cyclone)和反气旋(anticyclone)。在网格单元 $(i, j)$ 周围添加一个单位气旋会使 $r_{i+1,j}$ 和 $c_{i,j}$ 增加 1,并使 $r_{i,j}$ 和 $c_{i,j+1}$ 减少 1;非正式地,这意味着我们在单元格 $(i, j)$ 周围逆时针方向添加了一个单位的风流。添加一个单位反气旋的效果则完全相反:$r_{i+1,j}$ 和 $c_{i,j}$ 减少 1,$r_{i,j}$ 和 $c_{i,j+1}$ 增加 1。显而易见,在同一个单元格中添加一个气旋和一个反气旋不会改变任何东西。

气旋与反气旋

奥德修斯向埃俄罗斯发起挑战,声称他无法通过从零风速(即所有边上的风值均为零)开始,制造若干个气旋和反气旋来获得给定的风向分布。请编写一个程序来判断这是否可行。

输入格式

第一行包含两个整数 $n$ 和 $m$($2 \le n, m \le 500$),表示网格的尺寸。

接下来的 $n$ 行定义了目标风向。在接下来的第 $i$ 行中,有 $2m$ 个整数 $r_{i,0}, c_{i,0}, r_{i,1}, c_{i,1}, \dots, r_{i,m-1}, c_{i,m-1}$($-10^7 \le r_{i,j}, c_{i,j} \le 10^7$)。

输出格式

如果可以通过制造若干个气旋和反气旋来获得给定的风向分布,则输出 "Yes"(不带引号)。否则,输出 "No"(不带引号)。

样例

输入样例 1

2 3
-1 -2 0 0 -3 2
1 0 0 1 3 -1

输出样例 1

Yes

输入样例 2

2 2
0 0 0 1
1 0 -1 -1

输出样例 2

No

说明

获得第一个样例中风向分布的一种可能方法是:在单元格 $(0, 2)$ 周围制造两个气旋,在单元格 $(1, 2)$ 周围制造一个反气旋,并在单元格 $(1, 0)$ 周围制造一个反气旋。

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.