明显,总共有n*m格,已经涂了k格
所以剩下n*m-k格
如果n*m-k<=k,即k已经占用了大于等于一半的格子,显然答案为0
否则
剩下的格子中取k+1,k+2...n*m-k格均可
取组合数求解,所以答案为
但因为组合数下标太大
可以处理杨辉三角(推荐)
或者处理因子
或者使用Python或者Java等等
#include<stdio.h> const int mod=111111; int C[1005][1005]; int main(){ int i,j,n,m,k,ans=0; scanf("%d%d%d",&n,&m,&k); C[0][0]=1; C[0][1]=1; C[1][1]=1; for(i=2;i<=n*m-k;i++){ C[0][i]=C[i][i]=1; for(j=1;j<i;j++) C[j][i]=(C[j-1][i-1]+C[j][i-1])%mod; } for(i=k+1;i<=n*m-k;i++) ans=(ans+C[i][n*m-k])%mod; printf("%d ",ans); return 0; }