比赛 |
2012Day1 |
评测结果 |
AAAAAAAAAA |
题目名称 |
国王游戏 |
最终得分 |
100 |
用户昵称 |
/k |
运行时间 |
0.008 s |
代码语言 |
C++ |
内存使用 |
0.58 MiB |
提交时间 |
2015-10-22 19:30:17 |
显示代码纯文本
- #include<iostream>
- #include<algorithm>
- #include<cstdio>
- using namespace std;
- int wa[50000],w;
- struct u
- {
- int a;
- int b;
- }c[10100];
- int n;
- bool g(const u & aa,const u & bb)
- {
- return aa.a*aa.b<bb.a*bb.b;
- }
- void gc(int a)
- {
- int h=0;
- for(int i=1;i<=w;i++)
- {
- /*if(c[a].a>1)
- printf("H");*/
- wa[i]*=c[a].a;
- wa[i]+=h;
- h=wa[i]/10000;
- wa[i]%=10000;
- }
- if(h)
- {
- wa[++w]=h;
- }
- }
- void gch()
- {
- int h=0;
- for(int i=w;i>=1;i--)
- {
- wa[i]+=h*10000;
- h=wa[i]%c[n].b;
- wa[i]/=c[n].b;
- }
- //printf("%d ",wa[1]);
- }
- int main()
- {
- freopen("kinggame.in","r",stdin);
- freopen("kinggame.out","w",stdout);
- scanf("%d",&n);
- scanf("%d%d",&wa[1],&w);
- w=1;
- for(int i=1;i<=n;i++)
- {
- //printf("%d\n",i);
- scanf("%d%d",&c[i].a,&c[i].b);
- }
- sort(c+1,c+1+n,g);
- for(int i=1;i<n;i++)
- {
- gc(i);
- }
- /*for(int i=w;i>=1;i--)
- printf("%d ",wa[i]);*/
- gch();
- //printf("J%d",w);
- int r=0;
- for(int i=w;i>=1;i--)
- {
- if(r||wa[i])
- {
- if(r!=0)
- printf("%04d",wa[i]);
- else
- printf("%d",wa[i]);
- r=1;
- }
- }
- if(!r)
- printf("1");
- //while(1);
- }