输入内容非常有规律
且EOF停止
所以循环读入整形与符形
读题 数据范围合适
所以懒
计算过程不约分
最后判正负约分
lazy算法??
//#pragma GCC optimize(2)
#include <cstdio>
#include <iostream>
#include <cstdlib>
#include <cmath>
#include <cctype>
#include <string>
#include <cstring>
#include <algorithm>
#include <stack>
#include <queue>
#include <set>
#include <map>
#include <ctime>
#include <vector>
#include <fstream>
#include <list>
#include <iomanip>
#include <numeric>
using namespace std;
typedef long long ll;
const int MAXN = 1e6 + 10;
ll gcd(ll a, ll b)
{
return b == 0 ? a : gcd(b, a % b);
}
int main()
{
//ios::sync_with_stdio(false);
//cin.tie(0); cout.tie(0);
char t, oprt;
ll a, b, ansa, ansb, llt;
cin>>ansa>>t>>ansb;
while(cin>>oprt>>a>>t>>b)
{
if(b != ansb)
{
llt = ansb;
ansb *= b;
ansa *= b;
b *= llt;
a *= llt;
}
if(oprt == '+')
ansa += a;
else
ansa -= a;
}
llt = gcd(ansa, ansb);
ansa /= llt;
ansb /= llt;
int mode = 0;
if(ansa < 0)
mode ++;
if(ansb < 0)
mode ++;
if(mode == 1)
cout<<'-';
ansb == 1 ? cout<<abs(ansa)<<endl : cout<<abs(ansa)<<'/'<<abs(ansb)<<endl;
return 0;
}