金杭东
(金杭东)
1
记录详情 - 洛谷 | 计算机科学教育新生态
代码:
#include<bits/stdc++.h>
using namespace std;
const int N=1e3+5;
struct node
{
int x,y;
}a[N];
int n;
string s="1",Max;
bool cmp(node x,node y)
{
return x.x*x.y<y.x*y.y;
}
string mul(string s,int a)
{
int v[5*N],len;
len=s.size();
for(int i=1;i<=len;++i) v[i]=s[len-i]-48;
for(int i=len+1;i<=len+10;++i) v[i]=0;
for(int i=1;i<=len;++i) v[i]*=a;
for(int i=1;i<=len;++i)
{
v[i+1]+=v[i]/10;
v[i]%=10;
}
while(v[len+1])
{
len++;
v[len+1]+=v[len]/10;
v[len]%=10;
}
string jhd="";
for(int i=len;i>=1;--i) jhd+=char(v[i]+48);
return jhd;
}
string div(string s,int a)
{
int v[5*N],t[5*N],x=0,len,f=0,top;
len=s.size();
for(int i=1;i<=len;++i) v[i]=s[i-1]-48;
for(int i=1;i<=len;++i)
{
x=x*10+v[i];
t[i]=x/a;
x%=a;
}
for(int i=1;i<=len;++i)
if(t[i])
{
top=i;
break;
}
string wzh="";
for(int i=top;i<=len;++i) wzh+=char(t[i]+48);
return wzh;
}
string ex_max(string a,string b)
{
if(a.size()<b.size()) return b;
if(a.size()>b.size()) return a;
if(a<b) return b;
return a;
}
int main()
{
cin>>n>>a[0].x>>a[0].y;
for(int i=1;i<=n;++i) cin>>a[i].x>>a[i].y;
sort(a+1,a+1+n,cmp);
for(int i=1;i<=n;++i)
{
s=mul(s,a[i-1].x);
Max=ex_max(Max,div(s,a[i].y));
}
cout<<Max;
return 0;
}
记录详情 - 洛谷 | 计算机科学教育新生态
代码:
#include<bits/stdc++.h>
using namespace std;
const int N=1e3+5;
struct node
{
int x,y;
}a[N];
int n;
string s="1",Max;
bool cmp(node x,node y)
{
return x.x*x.y<y.x*y.y;
}
string mul(string s,int a)
{
int v[5*N],len;
len=s.size();
for(int i=1;i<=len;++i) v[i]=s[len-i]-48;
for(int i=len+1;i<=len+10;++i) v[i]=0;
for(int i=1;i<=len;++i) v[i]*=a;
for(int i=1;i<=len;++i)
{
v[i+1]+=v[i]/10;
v[i]%=10;
}
while(v[len+1])
{
len++;
v[len+1]+=v[len]/10;
v[len]%=10;
}
string jhd="";
for(int i=len;i>=1;--i) jhd+=char(v[i]+48);
return jhd;
}
string div(string s,int a)
{
int v[5*N],t[5*N],x=0,len,f=0,top;
len=s.size();
for(int i=1;i<=len;++i) v[i]=s[i-1]-48;
for(int i=1;i<=len;++i)
{
x=x*10+v[i];
t[i]=x/a;
x%=a;
}
for(int i=1;i<=len;++i)
if(t[i])
{
top=i;
break;
}
string wzh="";
for(int i=top;i<=len;++i) wzh+=char(t[i]+48);
return wzh;
}
string ex_max(string a,string b)
{
if(a.size()<b.size()) return b;
if(a.size()>b.size()) return a;
if(a<b) return b;
return a;
}
int main()
{
cin>>n>>a[0].x>>a[0].y;
for(int i=1;i<=n;++i) cin>>a[i].x>>a[i].y;
sort(a+1,a+1+n,cmp);
for(int i=1;i<=n;++i)
{
s=mul(s,a[i-1].x);
Max=ex_max(Max,div(s,a[i].y));
}
cout<<Max;
return 0;
}
1 个赞
金杭东
(金杭东)
2
1 个赞
金杭东
(金杭东)
7
知道了最终答案是1/10,而我的除法是把所有0删了,应该保留一个
1 个赞
360病毒
(只会打暴力的人)
11
突然想起了之前上课时我同学发表了一个世界级言论:注释会影响代码的运行结果
1 个赞