比赛 |
202110省实验桐柏一中普及组联赛 |
评测结果 |
WWWWWWWWWW |
题目名称 |
分数运算 |
最终得分 |
0 |
用户昵称 |
张帅 |
运行时间 |
0.000 s |
代码语言 |
C++ |
内存使用 |
0.00 MiB |
提交时间 |
2021-10-20 19:00:02 |
显示代码纯文本
#include<bits/stdc++.h>
using namespace std;
int a,b,k1=1,k2=1,s1,s2,al,a2,bl;//1分子,2分母
int x1[100],y2[100];
int bei(int y,int x)
{
for(int i=2;i<=y;i++) x1[i]=x*i;
for(int i=2;i<=x;i++) y2[i]=y*i;
for(int i=2;i<=100;i++)
{
for(int j=2;j<=100;j++)
{
if(j>y)
{
i++;
j=2;
}
if(x1[i]==y2[j])
{
s2=x1[i];
k1=i;k2=j;
return 0;
}
}
}
return 0;
}
int yu(int x,int y)
{
int s=1;
while(s==1)
{
s=0;
for(int i=2;i<=x;i++)
{
if(y%i==0&&x%i==0)
{
y=y/i;
x=x/i;
s=1;
}
}
}
s1=x;s2=y;
return 0;
}
int main()
{
freopen("fenshu.in","r",stdin);
freopen("fenshu.out","w",stdout);
cin>>a>>b;
cin>>al>>a2;
s1=al;s2=a2;
for(int i=2;i<=a;i++)
{
cin>>al>>a2;
if(a2!=s2)
{
bei(a2,s2);//a2*k1=s2*k2
s1=s1*k2+al*k1;
}
else s1+=al;
yu(s1,s2);
}
for(int i=1;i<=b;i++)
{
cin>>bl;
s2*=bl;
}
yu(s1,s2);
if(s1==s2) cout<<1;
else cout<<s1<<" "<<s2;
return 0;
}