20求助
  • 板块P8584 探索未知
  • 楼主MHYC133
  • 当前回复4
  • 已保存回复4
  • 发布时间2022/10/16 15:22
  • 上次更新2023/10/27 07:15:32
查看原帖
20求助
613066
MHYC133楼主2022/10/16 15:22
#include<algorithm>
using namespace std;
int main(){
	int LOL;
	cin >> LOL;
	long long n = 0, m = 1;
	for(int i = 0; i < LOL; i++){
		long long a, b;
		cin >> a >> b;
		int op;
		cin >> op;
		
		if(op == 1) {//+
			int tmp1 = n * b + a * m;
			int tmp2 = m * b;
			n = tmp1;
			m = tmp2;
			
		} else {//-
			int tmp1 = n * b - a * m;
			int tmp2 = m * b;
			n = tmp1;
			m = tmp2;
		}

		long long t = __gcd(n, m);
		n /= t; m /= t;
	}
	if(m == 1) cout << n;
	else if(m == -1) cout << '-' << n;
	else if(m < 0) cout << '-' << n << '/' << -m;
	else cout << n << '/' << m;
	return 0;
}

//   n     a
//   _  +  _ 
//   m     b


//   n*b + a*m
//   _________ 
//   m   *   b
2022/10/16 15:22
加载中...