zoukankan      html  css  js  c++  java
  • 算法:正面硬币

    题目描述:

    有100枚硬币躺在桌子上, 每一枚都有正面和反面。其中10枚正面朝上,90枚反面朝上你不能摸、看或者其他方法来判断每一枚硬币哪面朝上。现在把硬币分成两堆,使得每一堆都有同样数量的正面向上的硬币。

    思路(假设解题过程都是闭着眼睛):将硬币分成两堆,一堆10个,另一堆90个,然后将10的小堆全部翻面。

    证明:

    假设第一次分堆后:

    小堆:有x个正面朝上,10-x个反面朝上,

    大堆:有10-x个正面朝上,90-10+x=80+x个反面朝上。

    小堆全部翻面:

    小堆:有10-x个正面朝上,x个反面朝上,

    大堆:有10-x个正面朝上,90-10+x=80+x个反面朝上。

    正面个数都是10-x个,相等。

    证毕

  • 相关阅读:
    mybatis-generator的坑
    log框架集成
    状压dp
    GYM 101350 G
    Wannafly挑战赛23 A 字符串
    基础
    ACM Changchun 2015 A. Too Rich
    最大子串和
    memset
    int long long 的范围
  • 原文地址:https://www.cnblogs.com/anthonyBlog/p/6322266.html
Copyright © 2011-2022 走看看