60tps 一堆垃圾代码求助
查看原帖
60tps 一堆垃圾代码求助
557114
Ykmirror楼主2022/10/21 11:14
#include<bits/stdc++.h>
using namespace std;
long long ansf=0,ansm=0;
int plusfs(long long xf,long long xm,long long yf,long long ym){
	if(ym==0){
		ansf=xf;
		ansm=xm;
		return 0;
	}
	long long zdgx2=((xf*yf)/(__gcd(xf,yf)))/xf;
	long long zdgy2=((xf*yf)/(__gcd(xf,yf)))/yf;
	xm=xm*zdgx2;
	ym=ym*zdgy2;
	ansf=xf*yf/__gcd(xf,yf);
	ansm=xm+ym;
	return 0;
}
int minusfs(long long xf,long long xm,long long yf,long long ym){
	if(ym==0){
		ansf=xf;
		ansm=xm;
		return 0;
	}
	long long zdgx2=((xf*yf)/(__gcd(xf,yf)))/xf;
	long long zdgy2=((xf*yf)/(__gcd(xf,yf)))/yf;
	xm=xm*zdgx2;
	ym=ym*zdgy2;
	ansf=xf*yf/__gcd(xf,yf);
	ansm=ym-xm;
	return 0;
}
int main(){
	int cin_n,x1,x2,p;
	cin>>cin_n;
	for(long long i=0;i<cin_n;i++){
		cin>>x1>>x2;
		cin>>p;
		if(p==1){
			plusfs(x2,x1,ansf,ansm);
		}
		if(p==2){
			minusfs(x2,x1,ansf,ansm);
		}
	}
	if(ansm%ansf==0){
		cout<<ansm/ansf;
	}
	if(ansf<0){
		cout<<-1*ansm/__gcd(ansm,ansf)<<"/"<<-1*ansf/__gcd(ansm,ansf);
	} 
	else{
		cout<<ansm/__gcd(ansm,ansf)<<"/"<<ansf/__gcd(ansm,ansf);
	}
	return 0;
} 
2022/10/21 11:14
加载中...