北京个人网站公司,网站翻页动画效果,河南微网站建设公司,婚纱摄影网站设计思路P1080-国王游戏 啊啊啊#xff0c;刚才已经写了一次了#xff0c;但是Edge浏览器不知道为什么卡住了#xff0c;难受。 好吧#xff0c;其实是一道可做题#xff0c;分析得到的贪心策略就是就是将a * b小的放在前面#xff08;其他的懒得说了#xff09;#xff0c;主要…P1080-国王游戏 啊啊啊刚才已经写了一次了但是Edge浏览器不知道为什么卡住了难受。 好吧其实是一道可做题分析得到的贪心策略就是就是将a * b小的放在前面其他的懒得说了主要还是要会高精度要不然写不出来。 AC代码借鉴题解大佬的我自己写不出来主要是高精度不太会
#includecstdio
#includecstring
#includealgorithm
using namespace std;const int MAXN20010;
struct node
{int a,b,a_b;
}a[MAXN];
int n;
int tmp[MAXN],ans[MAXN],add[MAXN];int read()
{int ans0; int sign1;char chgetchar();while((ch9 || ch0) ch!-) chgetchar();if(ch-) sign-1,chgetchar();while(ch0 ch9) ansans*10ch-0,chgetchar();return ans*sign;
}
bool cmp(node x,node y)
{return x.a_by.a_b;
}
void times(int x)
{memset(add,0,sizeof(add));for(int i1;itmp[0];i){tmp[i]*x;add[i1]tmp[i]/10;tmp[i]%10;}for(int i1;itmp[0]4;i){tmp[i]add[i];tmp[i1]tmp[i]/10;tmp[i]%10;if(itmp[0] tmp[i]!0)tmp[0]i;}
}
void divition(int x)
{memset(add,0,sizeof(add));int p0;for(int itmp[0];i0;i--){pp*10tmp[i];add[i]p/x;p%x;if(add[0]0 add[i]!0){add[0]i;}}
}
bool compare()
{if(add[0]ans[0]) return true;if(add[0]ans[0]) return false;for(int ians[0];i0;i--){if(add[i]ans[i]) return true;if(add[i]ans[i]) return false;}return false;
}
void copy()
{memset(ans,0,sizeof(ans));for(int iadd[0];i0;i--)ans[i]add[i];
}
int main()
{memset(a,0,sizeof(a));scanf(%d,n);for(int i0;in;i){scanf(%d,a[i].a); scanf(%d,a[i].b);a[i].a_ba[i].a*a[i].b;}sort(a1,an1,cmp);memset(tmp,0,sizeof(tmp));tmp[0]1; tmp[1]1;for(int i1;in;i){times(a[i-1].a);divition(a[i].b);if(compare()){copy();}}for(int ians[0];i0;i--){printf(%d,ans[i]);}return 0;
}