时间限制:C/C++ 1秒,其他语言2秒
空间限制:C/C++ 524288K,其他语言1048576K
64bit IO Format: %lld题目描述
A公司是一家主营软件开发的公司。公司内有n名员工,编号为1到n的整数,除了1号老板外每名员工都有一个直接上级和若干个间接上级(上级的上级)。
这天A公司正在进行结对编程能力测试。为了尽量避免由于员工个人因素影响测试的结果,本次测试采用随机抽人的方式。具体方法是由公司的所有非空员工子集中等概率地取出一个子集。然后找出该子集的级别最低的共同上级作为团队指挥(1号老板的级别是最高的)。当然,该团队指挥有可能在也有可能不在该子集中,在子集中的话就参与结对编程,不在的话就只负责指挥。
由于你大学参加过ICPC比赛,编程能力比较强,公司派你写一段程序来完成这个选人的过程。但是你最近疏于编程训练,头脑不清晰,犯了个大错误。你的代码里居然真的直接等概率取出一个非空子集,却忽略了这样一个事实:选出的子集人数必须是偶数,才能安排接下来的结对编程活动!
但是事到如今也无法挽救了。你了解到公司里每个职员都有一个可以量化的权限,当职员i被选作团队指挥时,如果你的程序输出了一个合理的结果(偶数个人),他会奖励你aia_iai元作为酬劳,反之如果你的程序输出了一个不合理的结果(奇数个人),那他会罚你aia_iai元作为赔偿。
那么,请你为自己计算出:你期望会损失多少钱?为了避免浮点误差,请你输出期望损失的钱数×(2n−1)\times (2^n - 1)×(2n−1)的结果,可以证明这是个整数。同时,你的输出也有可能是个负数,此时说明期望会赚到钱。输入描述:
河南省第十四届ICPC大学生程序设计竞赛—C结对编程
于 2024-03-13 15:06:31 首次发布