求助x2
  • 板块P8584 探索未知
  • 楼主xingze
  • 当前回复0
  • 已保存回复0
  • 发布时间2022/10/29 21:00
  • 上次更新2023/10/27 05:03:53
查看原帖
求助x2
693552
xingze楼主2022/10/29 21:00
#include <iostream>
using namespace std;
long long gcd(long long a, long long b)
{
	if (b == 0) return a;
	return gcd(b,a%b);
}
int main()
{
	long long n = 0, ab1 = 0, ab2 = 1, a[1050]{}, b[1050]{}, abab[1050]{};
	cin >> n;
	for (int i = 0; i < n; i++)
		cin >> a[i] >> b[i] >> abab[i];
	if (abab[0] == 1)
	{
		ab1 = a[0];
		ab2 = b[0];
	}
	else
	{
		ab1 = ab1 - a[0];
		ab2 = ab2 - b[0];
	}
	for (int i = 1; i < n; i++)
	{
		if (abab[i] == 1)
		{
			ab1 = ab1 * b[i] + a[i] * ab2;
			ab2 = ab2 * b[i];
		}
		else
		{
			ab1 = ab1 * b[i] - a[i] * ab2;
			ab2 = ab2 * b[i];
		}
	}
	long long ii = gcd(ab1, ab2);
	ab1 /= ii;
	ab2 /= ii;
	if (ab2 < 0)
	{
		ab1 = -ab1;
		ab2 = -ab2;
	}
	if (ab1 == ab2)
	{
		cout << 1 << endl;
		return 0;
	}
	else if (-ab1 == ab2)
	{
		cout << -1 << endl;
		return 0;
	}
	else if (ab2 == 1)
	{
		cout << ab1 << endl;
		return 0;
	}
	else
		cout << ab1 << "/" << ab2 << endl;
	return 0;
}

2WA 7RE
RE是浮点错误
求大佬帮本蒟蒻

2022/10/29 21:00
加载中...