比赛的时候交上去评测爆0 赛后自己又提交了一遍却对了一个点 已知hack数据为:
10
22 32 2
32 240 1
34 3 2
67 7 1
83 7 1
39 600 2
86 810 2
61 24 1
4 2 2
95 810 2
正确输出
2221343/226800
实际输出
2533193/226800
代码
#include<bits/stdc++.h>
using namespace std;
int main(){
long long n;
cin>>n;
long long s,d,calc;
int ansup=1,ansdown=1;
int cc;
cin>>ansup>>ansdown>>cc;
for(int i=1;i<n;i++){
cin>>s>>d>>calc;
if(calc==1){
ansup=ansup*d+s*ansdown;
ansdown=ansdown*d;
int maxx=__gcd(abs(ansup),abs(ansdown));
ansup/=maxx;
ansdown/=maxx;
}else{
ansup=ansup*d-s*ansdown;
ansdown=ansdown*d;
int maxx=__gcd(abs(ansup),abs(ansdown));
ansup/=maxx;
ansdown/=maxx;
}
}
if(ansup%ansdown==0){
cout<<ansup/ansdown;
return 0;
}
int maxx=__gcd(abs(ansup),abs(ansdown));
ansup/=maxx;
ansdown/=maxx;
cout<<ansup<<"/"<<ansdown;
return 0;
}
求大佬调QWQ