【题解】CF1519B

传送门

题意

一个 \(n\times m\) 的矩阵,从 \((1,1)\) 走到 \((n,m)\)

\((x,y)\) 时:

  1. 走向 \((x,y+1)\),获得 \(x\) 分;
  2. 走向 \((x+1,y)\),获得 \(y\) 分。

问是否可以在走到终点时恰好获得 \(k\) 分。

思路

因为是网格图且只向下或右走,故所有的行和列都会恰好走一遍,则:下 \(+\)\(=nm-1\)

所以判断一下 \(nm+1\) 是否等于 \(k\) 即可。

时间复杂度为 \(O(1)\times t=O(t)\)

代码

#include <iostream>
#include <cstdio>
using namespace std;

int t, n, m, k;

int main()
{
	scanf("%d", &t);
	while (t--)
	{
		scanf("%d%d%d", &n, &m, &k);
		if (n * m - 1 == k)
		{
			puts("YES");
		}
		else
		{
			puts("NO");
		}
	}
	return 0;
}
posted @ 2021-08-07 17:54  mango09  阅读(48)  评论(0编辑  收藏  举报
-->