题意:
有一个国王的左右手上分别写了a0,b0,他把他的n个臣子叫过来,左右手分分别写上ai,bi,每个臣子能获得的奖励是所有站在他前面的人a[i]的乘积除以这个臣子右手上的数字(国王始终站在第一个),国王想让臣子获得金币的最大值最小,问你国王该怎么安排这个队列?输出这个最小值。

思路:
假设有两个臣子一个国王,两个臣子分别为a1,b1,a2,b2,我们有两种排列方式,ans1=max(a0/b1, a0 * a1 / b2),ans2=max(a0/b2. a0 * a2 / b1), 我们简化一下,ans1=max(k1,k2),ans2=max(k3,k4),显然k1<k4,k2>k3。假设这时候满足ans1<ans2,即最大值应该在k3,k4中取,因为k2>k3,所以一定有k4>k2,带入式子,得a1b1<a2b2,所以我们只需要把n个人的ai*bi从小到大排序即可计算答案。

Python知识:
1、strip()方法
strip() 方法用于移除字符串头尾指定的字符(默认为空格)。
2.sort是list类的一个方法,只能与list一起使用。它不是一个内置的迭代器。
L.sort(cmp=None, key=None, reverse=False)
cmp:用于比较的函数,比较什么由key决定,有默认值,迭代集合中的一项;
key:用列表元素的某个属性和函数进行作为关键字,有默认值,迭代集合中的一项;
reverse:排序规则. reverse = True 或者 reverse = False,有默认值。

3.lambda函数作为参数传递给其他函数。
如:sorted与sort函数。此时lambda函数用于指定对列表中所有元素进行排序的准则。

AC代码:

n = int(input())
#去掉字符串后面的空格,并将字符以空格分割
a,b = input().strip().split()
#将字符转化为数字
a,b = int(a),int(b)
#创建一个空列表
arr = list()for i in range(0,n):#c为两个数字字符组成的列表c = input().strip().split()for j in range (0,len(c)):c[j] = int(c[j]) #转化为数字形式arr.append(c) #向列表中加入该列表,因此arr相当于一个二维数组arr.sort(key = lambda x:x[0]*x[1])tot =a
res = tot //arr[0][1] //先记录下如果只有一个人的情况
tot *= arr[0][0]for i in range (1,len(arr)):res = max(res,tot//arr[i][1]) //找最大的,因为不一定是最后一个大tot *= arr[i][0]print(res)

P1080 国王游戏(贪心)相关推荐

  1. P1080 国王游戏(贪心+高精度乘除及大数比较)

    https://www.luogu.org/problemnew/show/P1080 题目描述 恰逢 H 国国庆,国王邀请 n位大臣来玩一个有奖游戏.首先,他让每个大臣在左.右手上面分别写下一个整数 ...

  2. 洛谷P1080 国王游戏 贪心+高精度

    https://www.luogu.org/problem/P1080 题目描述 恰逢 HH H国国庆,国王邀请n nn 位大臣来玩一个有奖游戏.首先,他让每个大臣在左.右手上面分别写下一个整数,国王 ...

  3. 【题解】P1080 国王游戏(贪心+高精python天下第一)

    P1080 国王游戏 题目描述 恰逢 H国国庆,国王邀请n 位大臣来玩一个有奖游戏.首先,他让每个大臣在左.右手上面分别写下一个整数,国王自己也在左.右手上各写一个整数.然后,让这 n 位大臣排成一排 ...

  4. 做题记(4)P1080 国王游戏

    今天,做了洛谷上的P1080 国王游戏,题目如下: 题目描述 恰逢 H 国国庆,国王邀请 n 位大臣来玩一个有奖游戏.首先,他让每个大臣在左.右手上面分别写下一个整数,国王自己也在左.右手上各写一个整 ...

  5. 洛谷P1080 国王游戏(贪心)

    国王游戏 题目描述 恰逢 HHH 国国庆,国王邀请 nnn 位大臣来玩一个有奖游戏.首先,他让每个大臣在左.右手上面分别写下一个整数,国王自己也在左.右手上各写一个整数.然后,让这 nnn 位大臣排成 ...

  6. P1080 国王游戏(贪心+大数乘除)

    题目描述 恰逢 H 国国庆,国王邀请 n 位大臣来玩一个有奖游戏.首先,他让每个大臣在左.右手上面分别写下一个整数,国王自己也在左.右手上各写一个整数.然后,让这 n 位大臣排成一排,国王站在队伍的最 ...

  7. 洛谷P1080 国王游戏

    题目描述 恰逢 H 国国庆,国王邀请 n 位大臣来玩一个有奖游戏.首先,他让每个大臣在左.右手上面分别写下一个整数,国王自己也在左.右手上各写一个整数.然后,让这 n 位大臣排成一排,国王站在队伍的最 ...

  8. 洛谷 [NOIP2012 D1T2] P1080 国王游戏

    题目描述 恰逢 H 国国庆,国王邀请 n 位大臣来玩一个有奖游戏.首先,他让每个大臣在左.右 手上面分别写下一个整数,国王自己也在左.右手上各写一个整数.然后,让这 n 位大臣排 成一排,国王站在队伍 ...

  9. CH - 0701 国王游戏(贪心+高精度运算)

    题目链接:点击查看 题目大意:恰逢 H 国国庆,国王邀请 n 位大臣来玩一个有奖游戏.首先,他让每个大臣在左.右手上面分别写下一个整数,国王自己也在左.右手上各写一个整数.然后,让这 n 位大臣排成一 ...

最新文章

  1. 扩增子分析QIIME2(2018.6). 1简介和安装
  2. Linux学习 Unit 4
  3. Opencv 完美配置攻略 2014 (Win8.1 + Opencv 2.4.8 + VS 2013)下
  4. C++学习003-#define 自定义宏
  5. VS中的 MD/MT设置 【转】
  6. Struts2.x和Struts1.x的区别
  7. Web页面减肥,慎用VS的自动格式化功能!
  8. 同一页面引入多个JS文件的编码问题
  9. 【转】Dynamics CRM 365零基础入门学习(一)Dynamics介绍以及开发工具配置
  10. 最新编程语言排名:Python超Java、JS保持领头羊
  11. CF988 D. Points and Powers of Two【hash/数学推理】
  12. 通过Shell脚本快速搭建高效Rsync服务
  13. 在WPF中自定义控件(1)
  14. 使用python编程数学建模-Python的特点及优缺点(课程1)
  15. 无线web认证计费服务器,WEB认证原理
  16. kafka HW机制的作用
  17. 红帽6虚拟机安装流程
  18. 先验概率、后验概率、条件概率的形象解释
  19. 倍福--步进电机的控制
  20. VDA6.5认证咨询,产品审核与其他审核方式及检验的区别

热门文章

  1. linux没有mysql.server,[linux]centos7下解决yum install mysql-server没有可用包
  2. hana修改字段_自定义SAP HANA登陆界面背景
  3. Intel Realsense 如何获取输入图像的分辨率参数?傻办法 asanyarray() shape() get_data()
  4. pycharm 如何设置文件头信息?信息模板 头文件 coding: utf-8
  5. javascript中match方法和exec()方法详解与深度区别(非原创)
  6. Special Numbers 进制(1100)
  7. GCD Game 博弈论-Nim-质因数应用-质因数个数预处理
  8. android重写方法,android中native js中重写方法问题
  9. racte margin 居中 失效_上干货,微信用情侣签名她肯定很开心,微信个性签名居中隐藏技巧...
  10. open-capacity-platform STS项目导入