20求助
  • 板块P8584 探索未知
  • 楼主litail
  • 当前回复2
  • 已保存回复2
  • 发布时间2022/10/16 19:17
  • 上次更新2023/10/27 07:13:27
查看原帖
20求助
437462
litail楼主2022/10/16 19:17

样例全过

#include <bits/stdc++.h>
using namespace std;
#define T 1010
int n,num1=0,num2=1;
int t;
int x[T],y[T],z[T];
int gcd(int n,int m)
{
    if(n%m==0) return m;
    else return gcd(m,n%m);
}
int main()
{
	cin>>n;
	for(int i=1;i<=n;i++)
	{
		cin>>x[i]>>y[i]>>z[i];
		if(z[i]==1)
		{
			num1=num1*y[i]+num2*x[i];
			num2=num2*y[i];
			t=gcd(num1,num2);
			num1/=t;num2/=t;
		}
		if(z[i]==2)
		{
			num1=num1*y[i]-num2*x[i];
			num2*=y[i];
			t=gcd(num1,num2);
			num1/=t;num2/=t;
		}
	}
	if(num2==1)
	{
		cout<<num1;
	}
	if(num2!=1)
	{
		if(num1/num2<=0)
			cout<<abs(num1)*-1<<"/"<<abs(num2);
		if(num1/num2>=0)
			cout<<abs(num1)<<"/"<<abs(num2);
	}
	return 0;
}
2022/10/16 19:17
加载中...