B. The Cake Is a Lie
题意:
有一个n*m的格路,要求从(1,1)点走到(n,m)点,每一步有相应花费:
- 向右移动到(x,y+1)— 花费 x 元;
- 向下移动到(x+1,y) — 花费y 元.
查询输入是否符合结果。
题解:
我是菜鸡,所以选用的方法是找规律,也就是通过计算得出,无论走那条路,走到终点时,答案都是一样的,所以直接选用外围路径进行计算。
得出:花费=n*m-1。
也就是说,如果题中所给不等于这个花费,他就是错误的!
int main()
{
int t;
cin >> t;
while (t--)
{
int n, m,k;
cin >> n >> m>>k;
if (n == 1 && m == 1 && k == 0)
cout << "YES" << endl;
else if (n * m - 1 == k)
cout << "YES" << endl;
else
cout << "NO" << endl;
}
return 0;
}