挖土机T180pts求解
  • 板块学术版
  • 楼主RP_INT_MAX
  • 当前回复18
  • 已保存回复18
  • 发布时间2022/10/16 12:16
  • 上次更新2023/10/27 07:17:29
查看原帖
挖土机T180pts求解
566289
RP_INT_MAX楼主2022/10/16 12:16

rt,RE on #4&#9。虽然这场比赛我就是来摸鱼的

#include <iostream>
using namespace std;
#define int long long
inline int gcd(int a,int b) {
	a=(a<0?-a:a),b=(b<0?-b:b);
	while(b^=a^=b^=a%=b);return a;
}
int n,a,b,opt,x=0,y=1;
inline void add() {
	int g=y*b,h=x*b+y*a;
	int tmp=gcd(g,h);
	y=g/tmp,x=h/tmp;
}
inline void sub() {
	int g=y*b,h=x*b-y*a;
	int tmp=gcd(g,h);
	y=g/tmp,x=h/tmp;
}
signed main () {
	cin>>n;
	while(n--) {
		cin>>a>>b>>opt;
		switch(opt) {
			case 1:
				add();break;
			case 2:
				sub();break;
		}
	}
	if(x%y) cout<<x<<'/'<<y<<endl;
	else cout<<x/y<<endl;
	return 0;
}
2022/10/16 12:16
加载中...