NOIP国王游戏
#include<iostream>
#include<cstdio>
#include<cstdlib>
#include<cstring>
#include<algorithm>
#include<cmath>
using namespace std; int read()
{
int x=,f=;char ch=getchar();
while(ch<'' || ch>'')
{
if(ch=='-') f=-;
ch=getchar();
}
while(ch>='' && ch<='')
{
x=x*+ch-'';
ch=getchar();
}
return x*f;
} struct node
{
int a,b;
}f[]; bool cmp(node x,node y)
{
return x.a*x.b<y.a*y.b;
} int n,kinga,kingb,ans[],add[],sum[];
int i,k; void cheng(int x)
{
memset(add,,sizeof(add));
int j;
for(j=;j<=ans[];j++)
{
ans[j]*=x;
add[j+]+=ans[j]/;
ans[j]%=;
}
for(j=;j<=ans[]+;j++)//max 1000
{
ans[j]+=add[j];
ans[j+]+=ans[j]/;
ans[j]%=;
if(ans[j]!=) ans[]=max(ans[],j);
}
return ;
} void chu(int x)
{
int j;
memset(add,,sizeof(add));
int q=;
for(j=ans[];j>=;j--)
{
q*=;
q+=ans[j];
add[j]=q/x;
if(add[]== && add[j]!=)
{
add[]=j;
}
q%=x;
}
return ;
} bool my_max()
{
if(sum[]>add[]) return ;
if(sum[]<add[]) return ;
int j;
for(j=add[];j>=;j--)
{
if(add[j]<sum[j]) return ;
if(add[j]>sum[j]) return ;
}
return ;
} void my_ans()
{
int j;
memset(sum,,sizeof(sum));
for(j=add[];j>=;j--)
sum[j]=add[j];
return ;
} int main()
{
n=read();
f[].a=read(); f[].b=read();
for(i=;i<=n;i++)
{
f[i].a=read();
f[i].b=read();
}
sort(f+,f+n+,cmp);
ans[]=ans[]=;
for(i=;i<=n;i++)
{
//cout<<"*"<<ans[0]<<"*";
cheng(f[i-].a);
chu(f[i].b);
if(my_max())
{
my_ans();
} //for(k=1;k<=ans[0];k++) cout<<add[k];
//cout<<endl; }
for(i=sum[];i>=;i--) printf("%d",sum[i]); return ;
}
国王游戏
NOIP国王游戏的更多相关文章
- 【NOIP 2012 国王游戏】 贪心+高精度
题目描述 恰逢 H 国国庆,国王邀请 n 位大臣来玩一个有奖游戏.首先,他让每个大臣在左.右 手上面分别写下一个整数,国王自己也在左.右手上各写一个整数.然后,让这 n 位大臣排 成一排,国王站在队伍 ...
- Codevs 1198 国王游戏 2012年NOIP全国联赛提高组
1198 国王游戏 2012年NOIP全国联赛提高组 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 钻石 Diamond 题目描述 Description 恰逢 H 国国庆,国王邀 ...
- 国王游戏 2012年NOIP全国联赛提高组(贪心+高精)
P1080 国王游戏 题目描述 恰逢 H 国国庆,国王邀请 n 位大臣来玩一个有奖游戏.首先,他让每个大臣在左.右手上面分别写下一个整数,国王自己也在左.右手上各写一个整数.然后,让这 n 位大臣排成 ...
- 【流水调度问题】【邻项交换对比】【Johnson法则】洛谷P1080国王游戏/P1248加工生产调度/P2123皇后游戏/P1541爬山
前提说明,因为我比较菜,关于理论性的证明大部分是搬来其他大佬的,相应地方有注明. 我自己写的部分换颜色来便于区分. 邻项交换对比是求一定条件下的最优排序的思想(个人理解).这部分最近做了一些题,就一起 ...
- 洛谷P1080 [NOIP2012提高组D1T2]国王游戏 [2017年5月计划 清北学堂51精英班Day1]
P1080 国王游戏 题目描述 恰逢 H 国国庆,国王邀请 n 位大臣来玩一个有奖游戏.首先,他让每个大臣在左.右 手上面分别写下一个整数,国王自己也在左.右手上各写一个整数.然后,让这 n 位大臣排 ...
- 「洛谷P1080」「NOIP2012提高组」国王游戏 解题报告
P1080 国王游戏 题目描述 恰逢 \(H\)国国庆,国王邀请\(n\)位大臣来玩一个有奖游戏.首先,他让每个大臣在左.右手上面分别写下一个整数,国王自己也在左.右手上各写一个整数.然后,让这 \( ...
- GZOJ 1361. 国王游戏【NOIP2012提高组DAY1】
国王游戏[NOIP2012提高组DAY1] Time Limit:1000MS Memory Limit:128000K Description 国王游戏(game.cpp/c/pas) [问题描述] ...
- NOIP2012 国王游戏
2国王游戏 (game.cpp/c/pas) [问题描述] 恰逢 H 国国庆,国王邀请 n 位大臣来玩一个有奖游戏.首先,他让每个大臣在左.右手上面分别写下一个整数,国王自己也在左.右手上各写一个整数 ...
- Luogu 1080 【NOIP2012】国王游戏 (贪心,高精度)
Luogu 1080 [NOIP2012]国王游戏 (贪心,高精度) Description 恰逢H国国庆,国王邀请n位大臣来玩一个有奖游戏.首先,他让每个大臣在左.右手上面分别写下一个整数,国王自己 ...
随机推荐
- android 中文api
http://www.embeddedlinux.org.cn/androidapi/
- 《奔跑吧Ansible》
第1章 Ansible 简介 第2章 Ansible playbook 第3章 Ansible inventory 第4章 Ansible 变量与fact 第5章 引入测试应用:Mezzanine 第 ...
- 【本周主题】第三期 - JavaScript 内存机制
- (转)使用 CJSON 在C语言中进行 JSON 的创建和解析的实例讲解
使用 CJSON 在C语言中进行 JSON 的创建和解析的实例讲解 本文用代码简单介绍cjson的使用方法,1)创建json,从json中获取数据.2)创建json数组和解析json数组 1. 创 ...
- 【CF582E】Boolean Function 树形DP+FWT
[CF582E]Boolean Function 题意:给你一个长度为n的表达式,其中未知数有A,B,C,D和?,运算有&和|和?(表达式中用括号确定了唯一的运算顺序).?代表A,B,C,D或 ...
- springboot JPA
JPA(Java Persistence API)是Sun官方提出的Java持久化规范.它为Java开发人员提供了一种对象/关联映射工具来管理Java应用中的关系数据.他的出现主要是为了简化现有的持久 ...
- twisted 学习笔记一:事件循环
from twisted.internet import reactor import time def printTime(): print "Current time is", ...
- 36个让人惊讶的 CSS3 动画效果演示【转】
本文收集了35个惊人的 CSS3 动画演示,它们将证明 CSS3 Transform 和 Transition 属性的强大能力.CSS 是网页设计非常重要的一部分,随着越来越多的浏览器对 CSS3 支 ...
- H - Painter
杂货店出售一种由N(3<=N<=12)种不同颜色的颜料,每种一瓶(50ML),组成的颜料套装.你现在需要使用这N种颜料:不但如此,你还需要一定数量的灰色颜料.杂货店从来不出售灰色颜料--也 ...
- MyISAM和InnoDB区别 及选择
MySQL默认采用的是MyISAM. MyISAM不支持事务,而InnoDB支持.InnoDB的AUTOCOMMIT默认是打开的,即每条SQL语句会默认被封装成一个事务,自动提交,这样会影响速度,所以 ...