[Code Festival 2017 qual A] B: flip

题意

给出一个n行m列初始全白的矩阵,每次可以翻转一行/一列的全部格子的颜色.问任意次操作后能否使得恰好有k个黑色格子.
n,m<=1000

分析

显然要么翻转一次要么不翻转.
最终黑色格子数只和被翻转的行数和列数有关,那么n,m这么小,枚举翻转的行数列数即可.

#include<cstdio>
int n,m,k;
int calc(int i,int j){
  return i*(m-j)+(n-i)*j;
}
int main(){
  scanf("%d%d%d",&n,&m,&k);
  bool flag=false;
  for(int i=0;i<=n;++i){
    for(int j=0;j<=m;++j){
      if(calc(i,j)==k)flag=true;
    }
  }
  if(flag)printf("Yes\n");
  else printf("No\n");
  return 0;
}

posted @ 2017-09-24 07:06  liu_runda  阅读(210)  评论(0编辑  收藏  举报
偶然想到可以用这样的字体藏一点想说的话,可是并没有什么想说的. 现在有了:文化课好难