Start: Jun, 26, 2019 08:30:00
2019年度暑期短学期第一天
End: Jun, 26, 2019 11:30:00
Time elapsed:
Time remaining:

Problem_ID: D
Result: Accepted
Time: 6ms
Memory: 1716kB
Author: 2017211909047
In contest: 1273

#include<stdio.h>
#include<iostream>
#include<math.h>
using namespace std;
int zz(int m, int n){
	m = abs(m), n = abs(n);
	int t = m%n;
	while (t != 0){
		m = n;
		n = t;
		t = m%n;
	}
	return n;
}
int main(){
	int n;
	char t;
	scanf("%d", &n);
	int m, z;
	int a, b;
	scanf("%d%c%d", &a, &t, &b);
	z = a, m = b;
	n--;
	while (n--){
		scanf("%d%c%d", &a, &t, &b);
		z = z*b + a*m;
		m = m*b;
		int o = zz(z, m);
		z /= o;
		m /= o;
	}
	int p = z / m;
	z -= p*m;
	if (p < 0 || z < 0 || m < 0)
		printf("-");
	if (p == 0 && z == 0)
		printf("%d\n", abs(p));
	else if (p == 0)
		printf("%d%c%d\n", abs(z), t, abs(m));
	else if (z == 0)
		printf("%d\n", abs(p));
	else
		printf("%d %d%c%d\n", abs(p), abs(z), t, abs(m));
	return 0;
}