Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
169904 | 欧阳雨泽 | 国王游戏 | C++ | 编译错误 | 0 | 0 MS | 0 KB | 2626 | 2024-08-20 19:56:00 |
#include<cstdio> #include<iostream> using namespace std; int n,len=1,a[100010],b[100010],c[100010],g[1000010]; void multiplicative(int x){ int i; for(i=1;i<=len;i++)g[i]*=b[x]; for(i=1;i<=len;i++){ g[i+1]+=(g[i]/10); g[i]%=10; } len++; while(g[len]>9){ g[len+1]+=(g[len]/10); g[len]%=10; len++; } if(g[len]==0)len--; } void division(){ for(int i=len;i>=1;i--){ g[i-1]+=((g[i]%c[n])*10); g[i]/=c[n]; } while(g[len]==0)len--; if(len==0)cout<<1<<endl; } void quick_sort(int l,int r){ int i,j,mid,temp; i=l; j=r; mid=a[(l+r)/2]; while(i<=j){ while(a[i]<mid) i++; while(a[j]>mid) j--; if(i<=j){ temp=a[i],a[i]=a[j],a[j]=temp; temp=b[i],b[i]=b[j],b[j]=temp; temp=c[i],c[i]=a[j],c[j]=temp; i++; j--; } } if(l<j)quick_sort(l,j); if(i<r)quick_sort(i,r); } int main(){ int i; cin>>n; cin>>b[0]>>c[0]; for(i=1;i<=n;i++){ cin>>b[i]>>c[i]; a[i]=b[i]*c[i]; } quick_sort(1,n); g[1]=b[0]; for(i=1;i<n;i++)multiplicative(i); division(); for(i=len;i>=1;i--)cout<<g[i]; return 0; }#include<cstdio> #include<iostream> using namespace std; int n,len=1,a[100010],b[100010],c[100010],g[1000010]; void multiplicative(int x){ int i; for(i=1;i<=len;i++)g[i]*=b[x]; for(i=1;i<=len;i++){ g[i+1]+=(g[i]/10); g[i]%=10; } len++; while(g[len]>9){ g[len+1]+=(g[len]/10); g[len]%=10; len++; } if(g[len]==0)len--; } void division(){ for(int i=len;i>=1;i--){ g[i-1]+=((g[i]%c[n])*10); g[i]/=c[n]; } while(g[len]==0)len--; if(len==0)cout<<1<<endl; } void quick_sort(int l,int r){ int i,j,mid,temp; i=l; j=r; mid=a[(l+r)/2]; while(i<=j){ while(a[i]<mid) i++; while(a[j]>mid) j--; if(i<=j){ temp=a[i],a[i]=a[j],a[j]=temp; temp=b[i],b[i]=b[j],b[j]=temp; temp=c[i],c[i]=a[j],c[j]=temp; i++; j--; } } if(l<j)quick_sort(l,j); if(i<r)quick_sort(i,r); } int main(){ int i; cin>>n; cin>>b[0]>>c[0]; for(i=1;i<=n;i++){ cin>>b[i]>>c[i]; a[i]=b[i]*c[i]; } quick_sort(1,n); g[1]=b[0]; for(i=1;i<n;i++)multiplicative(i); division(); for(i=len;i>=1;i--)cout<<g[i]; return 0; }