比赛 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;
}