60分球条
查看原帖
60分球条
741674
封禁用户楼主2024/12/29 10:28
#include<bits/stdc++.h>
#define int long long
const int mod=1e9+7;
using namespace std;
int C[1009][1009];
int qpow(int a, int p) 
{
    int ans=1;
    while(p>0) 
    {
        if(p&1) 
        {
            ans=(ans*a+mod)%mod;
        }
        a=(a*a+mod)%mod;
        p>>=1;
    }
    return ans;
}
signed main()
{
	int i,j;
	C[0][0]=1;
	for(i=1;i<=1005;i++)
	{
		for(j=1;j<=i;j++)
		{
			C[i][j]=(C[i-1][j]+C[i-1][j-1])%mod;
		}
	}
	int t;
	cin>>t;
	while(t--)
	{
		int n,m,k;
		cin>>n>>m>>k;
		cout<<C[n+1][k+1]*C[n-k+1][m-2*k+1]%mod*qpow(2,m-2*k)%mod<<endl;
	}
	return 0;
}#include<bits/stdc++.h>
#define int long long
const int mod=1e9+7;
using namespace std;
int C[1009][1009];
int qpow(int a, int p) 
{
    int ans=1;
    while(p>0) 
    {
        if(p&1) 
        {
            ans=(ans*a+mod)%mod;
        }
        a=(a*a+mod)%mod;
        p>>=1;
    }
    return ans;
}
signed main()
{
	int i,j;
	C[0][0]=1;
	for(i=1;i<=1005;i++)
	{
		for(j=1;j<=i;j++)
		{
			C[i][j]=(C[i-1][j]+C[i-1][j-1])%mod;
		}
	}
	int t;
	cin>>t;
	while(t--)
	{
		int n,m,k;
		cin>>n>>m>>k;
		cout<<C[n+1][k+1]*C[n-k+1][m-2*k+1]%mod*qpow(2,m-2*k)%mod<<endl;
	}
	return 0;
}
2024/12/29 10:28
加载中...