• 海盗分赃 。。。有点懵


    7-3 海盗分赃 (25分)

    P 个海盗偷了 D 颗钻石后来到公海分赃,一致同意如下分赃策略:
    首先,P 个海盗通过抽签决定 1 - P 的序号。然后由第 1 号海盗提出一个分配方案(方案应给出每个海盗分得的具体数量),如果能够得到包括 1 号在内的绝对多数(即大于半数)同意,则按照该分配方案执行,否则 1 号将被投入大海喂鲨鱼;而后依次类似地由第 2 号、第 3 号等等海盗提出方案,直到能够获得绝对多数同意的方案出现为止,或者只剩下最后一位海盗,其独占所有钻石。请编写一个程序,给出第 1 号海盗的钻石分配方案中自己分得的钻石数量。

    附带的三个假定:

    “聪明”与“贪婪”假定:每个海盗总能够以本人利益最大化作为行为准则;
    “人性化”假定:在能够取得尽量多钻石的情况下,海盗不会故意致同伙于死地;
    “无偏见”假定:海盗之间没有个人恩怨,分给其他海盗钻石的次序以小序号优先为原则。
    输入格式:
    输入在一行中给出 2 个正整数 D 和 P(3≤P≤D≤100)。

    输出格式:
    输出第 1 号海盗的钻石分配方案中自己分得的钻石数量。

    输入样例

    10 7
    

    输出样例:

    6
    

    实验代码(大佬的)

    #include <stdio.h>
    #include <stdlib.h>
     
    int main()
    {
        int d,p;
        scanf("%d%d",&d,&p);
    
        if(p == 3)
        {
            printf("%d",d-1);
        }
        else
        {
            printf("%d",d-(p/2+1));
        }
     
        return 0;
    }
    
  • 相关阅读:
    一张图看懂开源许可协议,开源许可证GPL、BSD、MIT、Mozilla、Apache和LGPL的区别
    常用Flex 布局scss
    设置npm registry的几种方法
    JavaScript计算平方数的三种方法
    NPM 使用介绍
    x 的 y次幂科学计数法
    Docker 容器使用
    使用dos的tree命令输出文件夹树
    赣州(虔州)历史文化
    vue通过$ref获取不到元素样式?
  • 原文地址:https://www.cnblogs.com/xirfly/p/12088784.html
Copyright © 2020-2023  润新知