zoukankan      html  css  js  c++  java
  • 2007年哈萨克斯坦国际数学奥林匹克第一天第一题

    已知n是正整数,把n*n的正方形分成n方个单位正方形,将111枚硬币放入这些单位正方形中使得任意两个相邻(有一条公共边)的单位正方形中数量之差的绝对值恰好为1 ( 单位正方形内可以没硬币) ,求n的最大值。

    ·

     考虑一个2*2的正方形,因为2 3都与1相差1或-1,所以2 3硬币之和为偶数,同理1 4硬币之和为偶数,所以一个2*2的硬币数为偶数。而因为任意N*n(n为偶数)的正方形都可以分割为若干个2*2的正方形,所以N*n(n为偶数)的正方形的硬币数为偶数。所以对于本题,n必为奇数,所以只考虑奇数即可。

    对于一个2*2的小正方形来说,其硬币数最少为2。因为1 2 3 4里至多有两个为0。所以一个以N*n(n为偶数)的正方形内的硬币数至少为n*n/2。而16*16/2=128>111,所以n<17。

    考虑一下15*15.把其划分为两部分,一部分为14 14的,另一部分为剩下的。对于14 14这部分,这部分的硬币数最少为98个。对于剩下的部分,因为相邻两个的硬币数不能相同,所以这部分的硬币数最少14个(0 1相隔放置,角落放0个),所以15*15的硬币数最少为112个。所以n<=13。

    对于13*13的来说 ,先用这种方式放硬币,可知一共在85个单位正方形放了85个硬币,每个正方形内放一个,还剩下84个空的正方形,此时再把26个硬币分成13份,每份两个,随便找13个0放进去。由于0+2=2  2-1=1,85+26=111,且所有的0的都被1包围。所以满足题意。

    综上,n最大为13。

  • 相关阅读:
    Linux Kernel USB 子系统(1)
    折腾 Gnome3
    2011年06月08日
    xelatex 果然好用
    倍受打击
    长到40岁学到的41件事
    autocompletemode + flyspellmode
    The Linux Staging Tree, what it is and is not.
    如何选择开源许可证?
    Use emacs &amp; Graphviz to plot data structure
  • 原文地址:https://www.cnblogs.com/lau1997/p/12563017.html
Copyright © 2011-2022 走看看