本地全过,提交RE(除0错误)
#include<iostream>
using namespace std;
long long gcd(long long a,long long b){
if(a==0&&b==0)return -1;
if(a<0)a=-a;
if(b<0)b=-b;
if(b==0)return a;
return gcd(b,a%b);
}
int main(void){
long long n,a,b,op,fm,fz,gcdx;
bool fs=false;
cin>>n;
for(int i=0;i<n;i++){
fs=false;
cin>>a>>b>>op;
if(op==1){
fz=fz*b+a*fm;fm=fm*b;
gcdx=gcd(fz,fm);
fz/=gcdx,fm/=gcdx;
}else{
fz=fz*b-a*fm;fm=fm*b;
gcdx=gcd(fz,fm);
fz/=gcdx,fm/=gcdx;
}
}
if(fz%fm)cout<<fz<<'/'<<fm;
else cout<<fz/fm;
cout<<endl;
return 0;
}