zoukankan      html  css  js  c++  java
  • 竞赛生每日一题(212) 徐康华竞赛优学

    一个棋盘放棋子的问题

    从8n*8n(n是正整数)方格棋盘上选出16n格,使每行每列含有其中的两格,证明:可以把16n个格子,(8n白8n黑)放置在所选的方格上,使每行每列都恰好有一个白的和一个黑的棋子。

    解答:

    如果每行每列都恰好有一个白的和一个黑的棋子,易知交换某两行/列后每行每列还是恰有一个白的和一个黑的棋子。所以无论挑选的是哪16n个格子,总可以交换为图A这种情况。

    A       B     C    D    E

     此时,有两种可能,一种是图B这种情况,(1,1)有格子。此时如果把(0,0)、(1,1)染黑,(0,1)、(1,0)染白,就可以使第1 2行/列满足题意。所以如果红色方框这一部分再每行每列还是恰有一个白的和一个黑的棋子,那么就满足题意了。对于红色方框这一部分,总可以交换成图C这种情况,如果(4,4)有格子的话,那么问题就转化为了蓝色方框可不可以做到每行每列还是恰有一个白的和一个黑的棋子。如果一直是交换完行/列后,右下方的那个位置有格子的情况,那么最后的格子情况如图E。显然可以涂成每行每列都恰好有一个白的和一个黑的棋子。

    F    G  H

    再考虑另一种情况,(1,1)没格子。那么必然可以通过交换行/列得到图F这种情况。继续分析,如果此时(3,3)没有格子,那么必然可以通过交换行/列得到图G这种情况。如果一直是交换完行/列后,右下方的那个位置没格子的情况,那么最后的格子情况如图H。显然可以涂成每行每列都恰好有一个白的和一个黑的棋子。

     上面两种情况是极端情况,一般情况下,交换完行/列后,右下方的那个位置有无格子是随机的,但所有的情况肯定都是上面两种情况的组合,无论这个组合的顺序是什么,也无论上面两种情况各出现多少次,显然都能够涂成每行每列都恰好有一个白的和一个黑的棋子。

    综上所述,无论怎么挑选格子,都可以满足题意,证毕。

  • 相关阅读:
    ajax(读取json数据)
    MD5加密出现 无法启动:此实现不是Windows平台FIPS验证的加密算法的一部分
    二维码(android)
    电脑快捷键大全
    OkHttp
    HttpURLConnection 传输数据和下载图片
    子线程更新UI界面的2种方法
    URLConnection(互联网)
    点滴
    SQL 备忘录
  • 原文地址:https://www.cnblogs.com/lau1997/p/12656206.html
Copyright © 2011-2022 走看看