样例全过,提交爆0求助
查看原帖
样例全过,提交爆0求助
762646
Piggy343288楼主2022/10/16 13:21
#include<iostream>
using namespace std;
int a[20],b[20];
int gcd(int a,int b);
int main() {
	int n,cnt=0,numerator=0,denominator=1,divisor;
	cin>>n;
    
    int opt;
	while(n--) {
		scanf("%d%d%d",&a[cnt],&b[cnt],&opt);
        if(opt==2)a[cnt]=-a[cnt];
		cnt++;
	}
	for(int i=0; i<cnt; i++) {
		denominator*=b[i];
	}
	for(int i=0; i<cnt; i++) {
		numerator=numerator+denominator*a[i]/b[i];
	}
	divisor=gcd(denominator,numerator);
	denominator/=divisor;
	numerator/=divisor;
	if(denominator==1) {
		cout<<numerator<<endl;
	} else {
		cout<<numerator<<"/"<<denominator<<endl;
	}
	return 0;
}
int gcd(int a,int b) {//Greatest Common Divisor
	if(b==0)return a;
	return gcd(b,a%b);
}
2022/10/16 13:21
加载中...