```
#include<iostream>
#include<cstdio>
#include<cstring>
#include<cmath>
#include<algorithm>
using namespace std;
int numa[1005], numb[1005];
char charater[1005];
int main(){
int id = 1;
int Gcd = 0, lcm = 0;
while(1){//略微有点复杂的输入**
int a, b;
scanf("%d/%d", &a, &b);
numa[id] = a;
numb[id] = b;
char ch = getchar();
if(ch == '\n')
break;
charater[id] = ch;
id++;
}
// for(int i = 1; i <= id; i++)
// printf("%d %d %c\n", numa[i], numb[i], charater[i]);
Gcd = __gcd(numb[2], numb[1]);
lcm = numb[2] * numb[1] / Gcd;
for(int i = 3; i <= id; i++){
Gcd = __gcd(numb[i], lcm);
// printf("Gcd = %d numb[i] = %d numb[i-1] = %d\n", Gcd, numb[i], numb[i-1]);
lcm = numb[i] * lcm / Gcd;
}
//printf("lcm=%d\n", lcm);
for(int i = 1; i <= id; i++){
numa[i] = (lcm / numb[i]) * numa[i];
numb[i] = lcm;
}
/*for(int i = 1; i <= id; i++)
printf("%d %d\n", numa[i], numb[i]);*/
int ans = numa[1];
for(int i = 2; i <= id; i++){
// printf("%d\n", ans);
if(charater[i-1] == '+')
ans += numa[i];
else if(charater[i-1] == '-')
ans -= numa[i];
}
printf("%d/%d", ans / __gcd(ans, numb[1]), numb[1] / __gcd(ans, numb[1]));
return 0;
}
```
by Foggy_night @ 2023-11-09 22:25:21