我的拓欧为什么过不了1,3啊,求大佬救救
查看原帖
我的拓欧为什么过不了1,3啊,求大佬救救
453100
Tzs_yousa楼主2022/6/22 08:16
#include <bits/stdc++.h>
#define int long long
using namespace std;
int a, b, c, x, y, ans;
int exgcd(int a, int b, int &x, int &y)
{
	if(b == 0)
	{
		x = 1;
		y = 0;
		return a;
	}
	int t = exgcd(b, a % b, x, y);
	int z = x;
	x = y;
	y = z - a / b * y;
	return t;
}
signed main()
{
	scanf("%lld%lld%lld", &a, &b, &c);
	int gcd = exgcd(a, b, x, y);
	int p = c / gcd;
	x *= p, y *= p;
	if(c % gcd != 0)
	{
		printf("0");
		return 0;
	}
	for (int i = 0; i <= c / a || i <= c / b; i++)
	{
		int xx = x + i * (b / gcd);
		int yy = y - i * (a / gcd);
		if(xx >= 0 && yy >= 0) ans++;
	}
	printf("%lld", ans);
	return 0;
} 
2022/6/22 08:16
加载中...