NOIP 国王游戏 codevs1198 贪心+高精度
2016-08-31 00:32
429 查看
时空隧道
分析:
感觉这题的贪心比较不合常理,但是推一推还是可以推出来的…..主要是高精度难写….
代码如下:
by >_< neighthorn
分析:
感觉这题的贪心比较不合常理,但是推一推还是可以推出来的…..主要是高精度难写….
代码如下:
#include<algorithm> #include<iostream> #include<cstring> #include<cstdio> using namespace std; const int maxn=10000+5; int n,tmp[maxn],a[maxn],aa[maxn],MAX[maxn],f,maxlen,len; char str[maxn]; struct M{ int x,y,pro; friend bool operator < (M a,M b){ if(a.pro==b.pro) return a.y<b.y; return a.pro<b.pro; } }s[maxn]; inline void mul(int a[],int b){ memset(tmp,0,sizeof(tmp)); for(int i=1;i<=len;i++) tmp[i]=a[i]*b; for(int i=1;i<=len;i++) if(tmp[i]/10) tmp[i+1]+=tmp[i]/10,tmp[i]%=10; while(tmp[len+1]) len++; while(tmp[len]/10) tmp[len+1]+=tmp[len]/10,tmp[len]%=10,len++; for(int i=1;i<=len;i++) a[i]=tmp[i]; } inline void div(int a[],int b){ memset(tmp,0,sizeof(tmp)); int x=0; for(int i=1;i<=len;i++) tmp[i]=(a[i]+x*10)/b,x=(a[i]+x*10)%b; int pd=0; for(int i=1;i<=len;i++) if(tmp[i]){ pd=1; break; } if(pd){ int i=1; for(;tmp[i]==0;i++); f=i; for(;i<=len;i++){ if((tmp[i]>MAX[i]&&len-f+1==maxlen)||len-f+1>maxlen){ for(int j=f;j<=len;j++) MAX[j]=tmp[j]; maxlen=len-f+1; break; } if(maxlen>len-f+1||tmp[i]<MAX[i]) break; } } } signed main(void){ scanf("%d",&n); for(int i=0;i<=n;i++) scanf("%d%d",&s[i].x,&s[i].y),s[i].pro=s[i].x*s[i].y; sort(s+1,s+n+1); for(int i=0;s[0].x;i++) str[i]=s[0].x%10+'0',s[0].x/=10; len=strlen(str); for(int i=1;i<=len;i++) a[i]=str[i-1]-'0'; for(int i=1;i<=len;i++) aa[i]=str[len-i]-'0'; for(int i=1;i<=n;i++){ div(aa,s[i].y),mul(a,s[i].x); for(int j=1;j<=len;j++) aa[j]=a[len-j+1]; } for(int i=f;i<=maxlen+f-1;i++) cout<<MAX[i]; cout<<endl; return 0; }
by >_< neighthorn
相关文章推荐
- 【贪心+高精度】NOIP2012D1T2国王游戏Codevs1198
- codevs 1198 NOIP 2012 国王的游戏 高精度 解题报告
- CODE[VS] 1198【NOIP2012】 国王游戏(贪心
- codevs 1198 国王游戏 贪心
- Codevs 1198 国王游戏 2012年NOIP全国联赛提高组
- [NOIP2012][贪心][高精度]国王游戏
- [NOIP 2012]国王游戏 高精度+贪心
- Luogu 1080 【NOIP2012】国王游戏 (贪心,高精度)
- 【NOIP 2012 国王游戏】 贪心+高精度
- 【noip 2012】国王游戏 贪心+高精度
- Codevs_1166_[NOIP2007]_矩阵取数游戏_(动态规划+高精度)
- Codevs1198 国王游戏
- codevs1198 国王游戏
- 【jzoj3100】【NOIP2012提高组】【国王游戏】【贪心】【高精度】
- 国王游戏(codevs 1198)
- 【noip】国王游戏 贪心 高精度
- NOIP 2012 国王游戏 贪心 高精度 (COGS 1263)
- 矩阵取数游戏[NOIP 2007][Codevs 1166]
- 【codevs1063】【NOIP2004PJ】合并果子,贪心の钻石
- 【贪心】CODE[VS] 1063 NOIP2004普及组-合并果子 (刷题记录(模拟+优先队列))