http://code-festival-2017-quala.contest.atcoder.jp/tasks/code_festival_2017_quala_b
一个棋盘有N行,M列
设点击i行,则黑色棋子个数为i * M
设点击j列,则黑色棋子个数为j * N
设点击i行j列,则由黑转白的棋子个数为2*i*j
故当点击i行j列时,黑色棋子个数为i * M + j * N - 2 * i * j
枚举行列得出结果
#include<stdio.h>
int m,n,k;
bool slove()
{
for(int i = 0; i <= n; i++)
for(int j = 0; j <= m; j++)
{
int tmp = i * m + n * j - 2 * i * j;
if(tmp == k)
return true;
}
return false;
}
int main()
{
while(scanf("%d%d%d",&m,&n,&k) == 3)
{
if(slove()) printf("Yes\n");
else printf("No\n");
}
return 0;
}