7.4 L UVA 11806Cheerleaders

来源:互联网 发布:淘宝购礼品盒 编辑:程序博客网 时间:2024/04/28 18:09

题意:

一个m*n的棋盘,每个格子可以放一个啦啦队长,问在有k个啦啦队长,满足四边有至少一个啦啦队长的条件下,一共有多少种方法。

思路:

用容斥定理来做,也是看了训练指南才看懂。枚举16次状态,从0000到1111,每个2进制位对应上下左右的一边,为1时表示该边上不能站人。当二进制1出现次数为奇数时答案加上对应的排列数,否则减去对应的排列数。

代码:

#include <iostream>using namespace std;int  C[401][401];int n,m,k;//n<=20,m<=20,k<=400const int mod=1000007;int main(){    int T;    C[0][0]=1;    for(int i=1;i<=400;i++){        C[i][0]=C[i][i]=1;        for(int j=1;j<i;j++)            C[i][j]=(C[i-1][j]+C[i-1][j-1])%mod;    }    cin>>T;    for(int t=1;t<=T;t++){        cin>>n>>m>>k;        int ans=0;        for(int S=0;S<16;S++){            int b=0,r=n,c=m;            if(S&1){ r--; b++; }            if(S&2){ r--; b++; }            if(S&4){ c--; b++; }            if(S&8){ c--; b++; }            if(b&1) ans = (ans+mod-C[r*c][k])%mod;            else    ans = (ans+C[r*c][k])%mod;        }        cout<<"Case "<<t<<": "<<ans<<endl;    }    return 0;}

0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 小孩做作业不专心怎么办 孩子上课精力不集中怎么办 四岁宝宝吃饭慢怎么办 5岁宝宝吃饭慢怎么办 小学一年级上课不专心怎么办 5岁儿童不专心怎么办 小孩子做作业不专心怎么办 孩子做作业不专心怎么办 小孩学了就忘怎么办 小孩学过就忘了怎么办 做事老是注意力不集中怎么办 做事无法专注注意力不集中怎么办 幼儿园孩子上课不认真听讲怎么办 孩子在课间打闹家长应该怎么办 孩子打闹家长额钱怎么办 我又打孩子了怎么办 打排卵针不排卵怎么办 总是控制不住打骂孩子怎么办 叛逆期的孩子打骂妈妈怎么办 孩子屁股打青了怎么办 父亲把孩子屁股打流血怎么办 孩子屁股长了湿疹怎么办 宝宝发脾气摔东西躺地上怎么办 生气拿棍子打了孩子怎么办 小宝宝被蚊虫咬了怎么办 小宝宝被蚊子咬了怎么办 衣架打小孩淤青怎么办 1岁宝宝有痰咳嗽怎么办 1岁宝宝咳嗽有痰怎么办 孩子爱动手打家长怎么办 不小心有了孩子该怎么办 2岁多宝宝干咳怎么办 2岁宝宝咳嗽无痰怎么办 打了孩子后悔了怎么办 12小孩脾气很犟怎么办 被学生气着了怎么办 1岁宝宝轻微咳嗽怎么办 4岁宝宝突然呕吐怎么办 4岁儿童突然呕吐怎么办 四岁儿童90身高怎么办 24个月宝宝缺钙怎么办