比赛场次 | 382 |
---|---|
比赛名称 | 动规 |
比赛状态 | 已结束比赛成绩 |
开始时间 | 2017-06-18 19:00:00 |
结束时间 | 2017-06-18 18:00:00 |
开放分组 | 全部用户 |
注释介绍 |
题目名称 | 安排公牛 |
---|---|
输入输出 | examnine.in/out |
时间限制 | 4000 ms (4 s) |
内存限制 | 64 MiB |
测试点数 | 10 简单对比 |
用户 | 结果 | 时间 | 内存 | 得分 |
---|
Farmer Johnson的公牛们非常喜欢打篮球。但它们都不愿意一起打篮球,因为所有公牛都认为其他的牛弱爆了。Farmer Johnson有N头牛(我们把它们编号为1~N)和M个牛棚(我们把它们编号为1~M),这些牛棚就是公牛们的篮球场。但FJ的公牛非常挑剔,它们只会在自己喜欢的牛棚打球,并且都不愿意和其他的牛共享牛棚。
因此安排他的公牛对Farmer Johnson来说是一项艰难的任务,他希望得到你的帮助。当然,找到一种方案是容易的,但你的任务是找出一共有多少种方案。
一个方案是一种使得所有公牛都能在它喜欢的牛棚中快乐玩耍,并且没有两只牛共享一个牛棚的安排方式。
答案不会超过32位无符号整数范围。(其实用unsigned int 会溢出,懒得改数据了,直接用unsigned int就好了,别用long long!)
输入文件的第一行有两个正整数N,M(1<=N,M<=20)。
接下来有N行,第i行的开头有一个正整数P(1<=P<=M),代表第i头牛喜欢的牛棚数量。接下来有P个正整数,即P个牛棚的编号。
输出一行一个正整数,即方案总数。
3 4 2 1 4 2 1 3 2 2 4
4