版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/imzxww/article/details/81911788
http://acm.hdu.edu.cn/showproblem.php?pid=6415
题意:
在一个矩阵中,如果某一个数字是该行该列的最大值,则这个数满足纳什均衡。
要求构造一个n*m的矩阵,里面填的数字各不相同且范围是【1,m*n】,问有多少种构造方案。
思路:
直接公式
代码:
#include<bits/stdc++.h>
using namespace std;
#define ll long long
const int maxn=1e4+10;
const int inf=0x3f3f3f3f;
ll inv[maxn];
ll jc[maxn];
int main()
{
int T;
scanf("%d",&T);
ll n,m,mod;
while(T--)
{
scanf("%lld%lld%lld",&n,&m,&mod);
jc[0]=1LL;
for(ll i=1;i<=max(n,m);i++)
jc[i]=(jc[i-1]*i)%mod;
ll ans=1LL;
for(ll i=n+m;i<=n*m;i++)
{
ans=ans*i%mod;
}
ans=(jc[m]%mod*jc[n]%mod*ans%mod)%mod;
printf("%lld\n",ans);
}
return 0;
}