vijos 1779 国王游戏
练了一下高精度。。结果敲了这么久。。。
#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
#define maxn 1050
using namespace std;
struct pnt
{
int x,y;
}p[maxn];
int n,a,b;
struct bign
{
int len,a[];
};
bign base,ans;
bool cmp(pnt x,pnt y)
{
return max(y.y,x.y*x.x)<max(x.y,y.x*y.y);
}
void reset()
{
ans.len=;ans.a[]=;
int ret=a;base.len=;
while (ret)
{
base.a[base.len]=ret%;
ret/=;base.len++;
}
base.len--;
}
bign operator / (bign x,int m)
{
int ret[],len=,data=;
for (int i=x.len;i>=;i--)
{
data=data*+x.a[i];
ret[++len]=data/m;data%=m;
}
int now=;while ((!ret[now]) && (now<=len)) now++;
bign y;
if (now==len+)
{
y.len=;y.a[]=;
return y;
}
y.len=len-now;
for (int i=y.len;i>=;i--)
{
y.a[i]=ret[now];
now++;
}
return y;
}
bool operator > (bign x,bign y)
{
if (x.len<y.len) return false;
if (x.len>y.len) return true;
int top=x.len;
for (int i=top;i>=;i--)
{
if (x.a[i]>y.a[i]) return true;
if (x.a[i]<y.a[i]) return false;
}
}
bign operator * (bign x,int m)
{
bign y,ans;
while (m) {y.a[y.len++]=m%;m/=;}
y.len--;
for (int i=;i<=x.len+y.len+;i++) ans.a[i]=;
for (int i=;i<=x.len;i++)
for (int j=;j<=y.len;j++)
ans.a[i+j]+=x.a[i]*y.a[j];
for (int i=;i<=x.len+y.len;i++)
{
ans.a[i+]+=ans.a[i]/;
ans.a[i]%=;
}
ans.len=x.len+y.len;
if (ans.a[x.len+y.len+]) ans.len++;
return ans;
}
int main()
{
scanf("%d",&n);
scanf("%d%d",&a,&b);
for (int i=;i<=n;i++) scanf("%d%d",&p[i].x,&p[i].y);
sort(p+,p+n+,cmp);
reset();
for (int i=;i<=n;i++)
{
bign ret=base/p[i].y;
if (ret>ans) ans=ret;
base=base*p[i].x;
}
for (int i=ans.len;i>=;i--) printf("%d",ans.a[i]);
return ;
}
vijos 1779 国王游戏的更多相关文章
- [noip2012]国王游戏<贪心+高精度>
题目链接: https://vijos.org/p/1779 https://www.luogu.org/problem/show?pid=1080 http://codevs.cn/problem/ ...
- NOIP2012 国王游戏
2国王游戏 (game.cpp/c/pas) [问题描述] 恰逢 H 国国庆,国王邀请 n 位大臣来玩一个有奖游戏.首先,他让每个大臣在左.右手上面分别写下一个整数,国王自己也在左.右手上各写一个整数 ...
- 【NOIP 2012 国王游戏】 贪心+高精度
题目描述 恰逢 H 国国庆,国王邀请 n 位大臣来玩一个有奖游戏.首先,他让每个大臣在左.右 手上面分别写下一个整数,国王自己也在左.右手上各写一个整数.然后,让这 n 位大臣排 成一排,国王站在队伍 ...
- Codevs 1198 国王游戏 2012年NOIP全国联赛提高组
1198 国王游戏 2012年NOIP全国联赛提高组 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 钻石 Diamond 题目描述 Description 恰逢 H 国国庆,国王邀 ...
- Luogu 1080 【NOIP2012】国王游戏 (贪心,高精度)
Luogu 1080 [NOIP2012]国王游戏 (贪心,高精度) Description 恰逢H国国庆,国王邀请n位大臣来玩一个有奖游戏.首先,他让每个大臣在左.右手上面分别写下一个整数,国王自己 ...
- NOIP国王游戏
#include<iostream> #include<cstdio> #include<cstdlib> #include<cstring> #inc ...
- AC日记——国王游戏 洛谷 P1080
国王游戏 思路: 贪心+高精: 代码: #include <bits/stdc++.h> using namespace std; #define maxn 1005 struct Dat ...
- Luogu P1080国王游戏(贪心)
国王游戏 题目链接:国王游戏 ps:题目数据说明了要写高精度. 这个题的答案是\(a.l * a.r < b.l * b.r\)按照这个进行排序 题解中大部分只是如何证明排序是: \(a.l * ...
- 国王游戏 2012年NOIP全国联赛提高组(贪心+高精)
P1080 国王游戏 题目描述 恰逢 H 国国庆,国王邀请 n 位大臣来玩一个有奖游戏.首先,他让每个大臣在左.右手上面分别写下一个整数,国王自己也在左.右手上各写一个整数.然后,让这 n 位大臣排成 ...
随机推荐
- [maven] 搭建多模块企业级项目
知识点:聚合.继承.工程依赖.单元测试.多war聚合.cargo发布 ① 准备工作 参考资料 http://www.cnblogs.com/quanyongan/archive/2013/05/28/ ...
- Qt之窗口动画(下坠、抖动、透明度)
简述 前面几节中我们介绍了关于动画的基本使用,有属性动画.串行动画组.并行动画组.这节我们来实现一些特效,让交互更顺畅. 简述 示例 效果 源码 更多参考 示例 下面,我们以geometry.pos. ...
- (15)odoo配置文件详解
openerp-server.conf ---------------- [options]; addons模块的查找路径addons_path = E:\GreenOdoo8.0\source\op ...
- 冲销交货单WS_REVERSE_GOODS_ISSUE
LOOP AT ITAB. AT END OF VBELN. PERFORM FRM_LOCK_DELIVERY(ZSDS0002) USING ITAB-VBELN. CALL FUNCTION ' ...
- GridView列的排序功能
首先要给GridView设置三个属性 GridView4.AllowSorting = true; GridView4.Attributes.Add("SortExpression" ...
- BZOJ1718 [Usaco2006 Jan] Redundant Paths 分离的路径
给你一个无向图,问至少加几条边可以使整个图变成一个双联通分量 简单图论练习= = 先缩点,ans = (度数为1的点的个数) / 2 这不是很好想的么QAQ 然后注意位运算的优先级啊魂淡!!!你个sb ...
- display和visibility的区别
一.display和visibility的相同与不同点 1.相同点:display和visibility都有讲元素隐藏的意思 2.不同点:display是元素隐藏,隐藏的元素不占文档流 而visibi ...
- 学习shell之前你不得不了解的小知识
1.!!命令 # 表示上一条输出history |grep 23 #表示历史记录中的第23条!vim #上一 ...
- 使用Lucene.Net管理索引实现搜索
之前使用一直是没有问题的,只到今天发现删除的时候无法删除,增加的时候却一直在增加,导致搜索的时候可以搜出来很多相同的结果. 小猪决定趁今天这个机会好好的把这个问题给解决了. private void ...
- hihocoder 1236(2015北京网络赛 J题) 分块bitset乱搞题
题目大意: 每个人有五门课成绩,初始给定一部分学生的成绩,然后每次询问给出一个学生的成绩,希望知道在给定的一堆学生的成绩比这个学生每门都低或者相等的人数 因为强行要求在线查询,所以题目要求,每次当前给 ...