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

    在17x17的方格表中,把n个小方格(1*1的正方形)染上黑色.此后每一次做以下三种操作之一:

    1)若某行中至少有6个小方格染上黑色,则可将该行的所有小方格染上黑色.

    2 ) 若某列中至少有6个小方格染上黑色,则可将该列的所有小方格染上黑色.

    3)若某条对角线(有两个对角线)上至少有6个小方格染上黑色,则可将该对角线上的所有小方格染上黑色.

    求n的最小值,使得进行若干次操作后17X17的方格表中所有的小方格都染上黑色.

    经分析易知开始时必然有一行/列/对角线有至少6个小方格是黑的,否则无法进行操作。要想n取尽量小,绝对不能把那些不必要的、没有“好”作用的格子染黑。

    假设初始时某一行/列/对角线有至少6个小方格是黑的,下一步操作就是把该行/列/对角线染黑。在染黑该行/列/对角线之后,此时除了该行/列/对角线之外,还必须有一行/列/对角线有至少6个小方格是黑的。然后再染黑有至少6个小方格是黑的那一行/列/对角线···· 直到全部的行/列/对角线上都至少有6个小方格染上黑色,此时可把全部小方格染黑,任务完成。经过分析易知,只有在以下三种情况时,n才可能取得最小值。下面对这三种情况分别讨论。

    第一种情况:当恰好全部的行/列/对角线上都至少有6个小方格染上黑色时,两条对角线没有被全部染黑。经分析可知此时必然有某6行或某6列全部被染黑。不妨假设此时有某6行全部被染黑。分析在这种情况下n的最小值。这种情况下又可以分为两种情况: 第1种是没有任何一列被全部染黑。这种情况下N取得最小值:6*6=36。第2种是至少存在1列被全部染黑。经过简单的模拟和计算可知,这种情况下N的最小值与第一种情况相同,也是36,只不过得到的方法不同,如当有1列被全部染黑时,min N=6+5+5*5=36。所以第一种情况n最小值为36。

    第二种情况:当恰好全部的行/列/对角线上都至少有6个小方格染上黑色时,有一条对角线没有被全部染黑,另一条被全部染黑。经分析可知此时必然有某5行或某5列全部被染黑。不妨假设此时有某5行全部被染黑。这种情况下又可以分为两种情况: 第1种是没有任何一列被全部染黑。第2种是至少存在1列被全部染黑。经过证明可知(由于证明过程比较啰嗦和繁琐,就不在此赘述)这两种情况都可以等效为先染黑某一条对角线,再染黑某五行,此时n取得最小值:6+5*5=31。即在第二种情况下的n的最小值为31。

    第三种情况:当恰好全部的行/列/对角线上都至少有6个小方格染上黑色时,两条对角线都被染黑。经分析可知此时必然有某4行或某4列全部被染黑。不妨假设此时有某4行全部被染黑。这种情况下又可以分为两种情况: 第1种是没有任何一列被全部染黑。第2种是至少存在1列被全部染黑。经过证明可知(由于证明过程比较啰嗦和繁琐,就不在此赘述了)这两种情况都可以等效为先染黑两条对角线,再染黑除了中间行之外的某四行,此时n取得最小值:6+5+4*4=27。即在第三种情况下的n的最小值为27。

    综上所述,min N=27

  • 相关阅读:
    cocos2d多语言互调之一---lua调java
    vue 组件
    封装 XMLHttpRequest
    Ajax 请求
    jq 显示和隐藏 计时器
    jq 动画DOM及其操作
    jq 表单提交
    jq 事件绑定
    js 一些实用的封装和兼容
    工厂、原型、混合模式
  • 原文地址:https://www.cnblogs.com/lau1997/p/12585322.html
Copyright © 2011-2022 走看看