专栏文章
题解:UVA12024 Hats
UVA12024题解参与者 1已保存评论 0
文章操作
快速查看文章及其快照的属性,并进行相关操作。
- 当前评论
- 0 条
- 当前快照
- 1 份
- 快照标识符
- @mip5eicv
- 此快照首次捕获于
- 2025/12/03 06:27 3 个月前
- 此快照最后确认于
- 2025/12/03 06:27 3 个月前
题意
每人一顶帽子,求每个人都拿错帽子的概率。
思路
每个数都是一个分数,我们把分子和分母分开考虑,本题考虑递推。
分子
考虑错排列,可以直接用错排列(不懂的可以去百度搜索)。
其中,我们需要初始化 。
分母
就是总的方案数,分母怎么求呢?其实就可以看成是全排列问题,有 种排列。
其中,我们需要初始化 。
代码
CPP#include<bits/stdc++.h>
using namespace std;
int t,a[15],b[15];
int main()
{
a[0]=1;
b[1]=1;
for(int i=2;i<=12;i++) a[i]=(i-1)*(a[i-2]+a[i-1]);//分子
for(int i=2;i<=12;i++) b[i]=b[i-1]*i;//分母
cin>>t;
while(t--)//多组数据
{
int n;
cin>>n;
cout<<a[n]<<"/"<<b[n]<<"\n";//多组数据换行
}
return 0;
}
相关推荐
评论
共 0 条评论,欢迎与作者交流。
正在加载评论...