比赛 202110省实验桐柏一中普及组联赛 评测结果 AAAWWWWWWW
题目名称 分数运算 最终得分 30
用户昵称 wzprogrammer_X 运行时间 0.000 s
代码语言 C++ 内存使用 0.00 MiB
提交时间 2021-10-18 20:23:00
显示代码纯文本
#include<bits/stdc++.h>
using namespace std;
int gcd(int q,int w){
	if(w==0)return q;
	else return gcd(w,q%w);
}
int lcm(int q,int w){
	return q*w/gcd(q,w);
}
struct fen{
	int mu;
	int zi;
	fen operator*(const int A)const
	{
	//	mu*=A;
		fen k;
		k.mu=mu*A;
		k.zi=zi;
		return k;
	}
	fen operator+(const fen A)const
	{
		int u=lcm(mu,A.mu);
		fen k;
		k.mu=u;
		k.zi=zi*(u/mu)+(A.zi*(u/A.mu));
		return k;
	}
	void init(){
		int q,w;
		cin>>q>>w;
		zi=q,mu=w;
	}
	void yuefen(){
		int u=gcd(mu,zi);
		mu/=u;
		zi/=u;
	}
	void print(){
		fen k;
		k.mu=mu;
		k.zi=zi;
		k.yuefen();
		if(k.mu==1)cout<<k.zi;
		else cout<<k.zi<<" "<<k.mu;
	}
};
fen ans,t;
int n,m,temp;
int main(){
	freopen("fenshu.in","r",stdin);
	freopen("fenshu.out","w",stdout);
	cin>>n>>m;
	ans.init();
	for(int i=1;i<n;i++){
		t.init();
		ans=ans+t;
	}
	ans.yuefen();
	for(int i=1;i<=m;i++){
		cin>>temp;
		ans=ans*temp;
	}
	ans.print();
}