博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
HDOJ2049 不容易系列之(4)——考新郎
阅读量:2133 次
发布时间:2019-04-30

本文共 552 字,大约阅读时间需要 1 分钟。

  题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2049

  对于此类错排题目,首先要知道错排公式        a[i]=(i-1)*(a[i-1]+a[i-2]);

 然后就是计算组合c(n,m),最后再求乘积,代码如下:

#include
using namespace std;int main(){ int n,m,c; long long a[25]={0,0,1,2};//从有两队新婚夫妇时开始有一种情况 cin >> c; for(int i=4;i<25;i++) a[i]=(i-1)*(a[i-1]+a[i-2]); while(c--) { cin >> n >> m; long long sum1=1,sum2=1; for(int i=n-m+1;i<=n;i++) sum1*=i; for(int i=2;i<=m;i++) sum2*=i; cout << (sum1/sum2*a[m]) << endl; } return 0;}

转载地址:http://fpzgf.baihongyu.com/

你可能感兴趣的文章
02. 交换机的基本配置和管理
查看>>
03. 交换机的Telnet远程登陆配置
查看>>
微信小程序-调用-腾讯视频-解决方案
查看>>
phpStudy安装yaf扩展
查看>>
密码 加密 加盐 常用操作记录
查看>>
TP 分页后,调用指定页。
查看>>
Oracle数据库中的(+)连接
查看>>
java-oracle中几十个实用的PL/SQL
查看>>
PLSQL常用方法汇总
查看>>
几个基本的 Sql Plus 命令 和 例子
查看>>
PLSQL单行函数和组函数详解
查看>>
Oracle PL/SQL语言初级教程之异常处理
查看>>
Oracle PL/SQL语言初级教程之游标
查看>>
Oracle PL/SQL语言初级教程之操作和控制语言
查看>>
Oracle PL/SQL语言初级教程之过程和函数
查看>>
Oracle PL/SQL语言初级教程之表和视图
查看>>
Oracle PL/SQL语言初级教程之完整性约束
查看>>
PL/SQL学习笔记
查看>>
如何分析SQL语句
查看>>
结构化查询语言(SQL)原理
查看>>