代码求调,感谢!
查看原帖
代码求调,感谢!
1039862
Stugeon楼主2024/4/12 13:30
#include <bits/stdc++.h>
using namespace std;
long long mod = 20100403;
long long m,n;
long long sum1,sum2;
long long inv[2000005];
inline long long read()
{
	long long f = 1,x = 0;
	char s = getchar();
	while (s < '0' || s > '9')
	{
		if (s == '-')
		{
			f = -f;
		}
		s = getchar();
	}
	while (s >= '0' && s <= '9')
	{
		x = x * 10 + s - '0';
		s = getchar();
	}
	return x * f;
}
inline long long power(long long a,long long b)
{
	if (b == 0)
	{
		return 1;
	}
	long long c = 1;
	for (; b ; b >>= 1)
	{
		if (b & 1)
		{
			c = c * a % mod;
		}
		a = a * a % mod;
	}
	return c;
}
long long C(long long y,long long x)
{
	if (y < 0 || x < 0 || y < x)
	{
		return 0;
	}
	y %= mod;
	if (y == 0 || x == 0)
	{
		return 1;
	}
	long long ans = 1;
	for (long long i = 0 ; i < x ; i++)
	{
		ans = (long long)ans * (y - i) % mod;
	}
	for (long long i = 1; i <= x ; i++)
	{
		ans = (long long)ans * inv[i] % mod;
	}
	return ans;
}
int main()
{
	for (long long i = 1 ; i <= 2000005 ; i++)
	{
		inv[i] = power(i,mod - 2);
	}
	m = read();
	n = read();
	cout << (C(n + m,m) - C(n + m,m - 1) + mod) % mod;
	return 0;
}
2024/4/12 13:30
加载中...