n*m的矩形 k个人 第一行,最后一行,第一列,最后一列都至少站有一个人

小水题

正着做不好做,要反着想,那就容斥定理,ABCD四种情况分别是那四个行列分别没有人。

 #include<cstdio>
#include<cstdlib>
#include<cstring>
#include<iostream>
using namespace std; const int mod=;
const int K=; int c[][]; int main()
{
//freopen("a.in","r",stdin);
memset(c,,sizeof(c));
c[][]=;
for(int i=;i<=K;i++)
{
c[i][]=c[i][i]=;
for(int j=;j<i;j++)
c[i][j]=(c[i-][j]+c[i-][j-])%mod;
}
int T;
scanf("%d",&T);
for(int TT=;TT<=T;TT++)
{
int n,m,k,ans=;
scanf("%d%d%d",&n,&m,&k);
for(int s=;s<(<<);s++)
{
int nn=n,mm=m,sum=;
if(s&(<<)) nn--,sum++;
if(s&(<<)) mm--,sum++;
if(s&(<<)) nn--,sum++;
if(s&(<<)) mm--,sum++;
if(sum&) ans=(ans-c[nn*mm][k]+mod)%mod;
else ans=(ans+c[nn*mm][k])%mod;
}
printf("Case %d: %d\n",TT,ans);
}
return ;
}

最新文章

  1. Java集合类--温习笔记
  2. 转自文翼的博客:将本地时间转换为 GMT 时间
  3. 复制Informational constraints on LUW DB2 v105
  4. Java高效编程之二【对所有对象都通用的方法】
  5. 黄聪:chrome扩展开发《AJAX请求》
  6. arm-linux-ld
  7. C#调用其它语言(例如C++)DLL文件中函数的方法摘要
  8. c结构体初始化问题
  9. sock_ntop等函数
  10. mysql及powerdesigner的初次使用
  11. Git基础教程
  12. Chromium被用于Microsoft Edge与ChakraCore的未来【译】
  13. navigator的一些冷知识
  14. 计算CPU的MIPS
  15. stark组件开发之组合搜索高级显示和扩展
  16. Java 8 新特性:2-消费者(Consumer)接口
  17. Java RedisClient
  18. 利用Go2Shell 实现 Mac Finder 直接shell端打开当前文件夹
  19. bzoj4571/luogu3293 美味 (主席树+贪心)
  20. sql 更新多条记录

热门文章

  1. Beta版本软件使用说明
  2. JavaScript初探系列之数组的基本操作
  3. iOS开发JOSNModel&lt;optional&gt;,&lt;convertondemand&gt;,&lt;index&gt;
  4. 《学习OpenCV》课后习题解答3
  5. C# HttpWebRequest post提交数据,提交对象
  6. 201621044079 韩烨 week11-作业11-多线程
  7. JAVA IDE IntelliJ IDEA使用简介(三)—之你不能忘记的快捷键
  8. veeValidate
  9. Ajax在jQuery中的应用(加载异步数据、请求服务器数据)
  10. MATLAB strcmp