全wa求调
查看原帖
全wa求调
923469
jrlzy楼主2024/8/16 15:33
#include<bits/stdc++.h>
#define maxl 10000
#define maxn 10005
using namespace std;
int n,m,a[maxn],b[maxn],c[maxn];
void worka()
{
	a[1]=a[0]=1;
	for (int i=2;i<=n+2;i++)
	{
		for (int j=1;j<=a[0];j++) a[j]*=i;
		for (int j=1;j<=a[0]+5;j++) a[j+1]=a[j]/10,a[j]%=10;
		for (int j=1;j<=a[0]+5;j++) if (a[j]) a[0]=j;
	}
	for (int i=n-m+4;i<=n+3;i++)
	{
		for (int j=1;j<=a[0];j++) a[j]*=i;
		for (int j=1;j<=a[0]+5;j++) a[j+1]=a[j]/10,a[j]%=10;
		for (int j=1;j<=a[0]+5;j++) if (a[j]) a[0]=j;
	}
}
void workb()
{
	b[1]=b[0]=1;
	for (int i=2;i<=2;i++)
	{
		for (int j=1;j<=b[0];j++) b[j]*=i;
		for (int j=1;j<=b[0]+5;j++) b[j+1]=b[j]/10,b[j]%=10;
		for (int j=1;j<=b[0]+5;j++) if (b[j]) b[0]=j;
	}
	for (int i=2;i<=n+1;i++)
	{
		for (int j=1;j<=b[0];j++) b[j]*=i;
		for (int j=1;j<=b[0]+5;j++) b[j+1]=b[j]/10,b[j]%=10;
		for (int j=1;j<=b[0]+5;j++) if (b[j]) b[0]=j;
	}
	for (int i=n-m+3;i<=n+2;i++)
	{
		for (int j=1;j<=b[0];j++) b[j]*=i;
		for (int j=1;j<=b[0]+5;j++) b[j+1]=b[j]/10,b[j]%=10;
		for (int j=1;j<=b[0]+5;j++) if (b[j]) b[0]=j;
	}
}
void work ()
{
	for (int i=1;i<=a[0];i++) c[i]=a[i]-b[i];
	for (int i=1;i<=a[0]+5;i++) if (a[i]<0) a[i]+=10,a[i+1]-=1;
	for (int i=1;i<=a[0]+5;i++) if (c[i]) c[0]=i;
}
int main()
{
	cin>>n>>m;
	worka();workb();work();
	for (int i=c[0];i>0;i--) cout<<c[i];
	return 0;
}
2024/8/16 15:33
加载中...