Vijos 1166题:木牛流马
来源:互联网 发布:云南大数据app 编辑:程序博客网 时间:2024/06/07 04:00
描述
孔明造出了木牛流马
木牛者,方腹曲头,一脚四足,头入领中,舌著于腹。载多而行少,宜可大用,不可小使;特行者数十里,群行者二十里也。曲者为牛头,双者为牛脚,横者为牛领,转者为牛足,覆者为牛背,方者为牛腹,垂者为牛舌,曲者为牛肋,刻者为牛齿,立者为牛角,细者为牛鞅,摄者为牛秋轴。牛仰双辕,人行六尺,牛行四步。载一岁粮,日行二十里,而人不大劳。流马尺寸之数,肋长三尺五寸,广三寸,厚二寸二分,左右同。前轴孔分墨去头四寸,径中二寸。前脚孔分墨二寸,去前轴孔四寸五分,广一寸。前杠孔去前脚孔分墨二寸七分,孔长二寸,广一寸。后轴孔去前杠分墨一尺五分,大小与前同。后脚孔分墨去后轴孔三寸五分,大小与前同。后杠孔去后脚孔分墨二寸七分,后载克去后杠孔分墨四寸五分。前杠长一尺八寸,广二寸,厚一寸五分。后杠与等版方囊二枚,厚八分,长二尺七寸,高一尺六寸五分,广一尺六寸,每枚受米二斛三斗。从上杠孔去肋下七寸,前后同。上杠孔去下杠孔分墨一尺三寸,孔长一寸五分,广七分,八孔同。前后四脚,广二寸,厚一寸五分。形制如象,靬长四寸,径面四寸三分。孔径中三脚杠,长二尺一寸,广一寸五分,厚一寸四分,同杠耳。(《三国志·亮集载作木牛流马法》)
可是在现实中它有个缺陷,就是两个不能在同一行或同一列!
孔明兴高采烈的叫庞统来参观,孔明存心想难一难庞统,他把k个木牛流马放在一个大的n*n的格子地板上,并且给他们都染上色,想让庞统帮着算算有多少种不同的合理布局情况?
格式
输入格式
第一行:n,k,h(h为有多少种颜色) n<=20
接下来h行为每种颜色多少个
输出格式
合理布局情况总数
样例1
样例输入1
4 4 1
4
样例输出1
24
提示
不需要高精度,并且孔明规定在格子地板上不能翻转,也就是说如果两种布局在翻转后是一样的仍算两种。
#include <iostream>using namespace std;int fac(int n);int main(){ int n, k, h; long long ans; int a[21]; cin >> n >> k >> h;//n<=20 for (int i = 0;i < h;i++) cin >> a[i]; if (k <= n) { ans = 1; for (int i = 0, j = n;i < k;i++, j--) { ans *= j; } ans = ans*ans; for (int i = 0;i < h;i++) ans /= fac(a[i]); cout << ans << endl; } else cout << "0" << endl; return 0;}int fac(int n){ int f; if (n == 1) f = 1; else f = n*fac(n - 1); return f;}
- Vijos 1166题:木牛流马
- 木牛流马PLC
- 木牛流马PLC 硬件资源
- Vijos 1034题:家族
- Vijos 1104题:采药
- Vijos 1193题:扫雷
- Vijos 1217题:乒乓球
- Vijos 1359题:Superprime
- Vijos 1549题:中位数
- Vijos 1773题:质因数
- Vijos 1002题:过河
- Vijos 3764 牛奶题
- vijos P1753HackSon的趣味题
- Vijos 1304题:回文数
- Vijos 1036题:安装服务器
- Vijos 1133题:装箱问题
- Vijos 1172题:反质数
- Vijos 1185题:Endless Traveling
- 大数据教程(五)—— Hadoop集群MYSQL的安装
- LVDS转LVDS,转VGA,TTL,HDMI
- 搭建 rbac 后台系列教程(二)—— 安装 AdminLTE 渲染后台和 yii2-admin 集成 rbac
- 大型网站搭建过程
- Android 技术重温系列 ( 3 )
- Vijos 1166题:木牛流马
- UVa 11242
- linux java服务启动脚本
- Spring Boot+JSP
- c#之string的格式化字符串format
- MJIOT-AMB-01 RTL8710AF 高性能wifi模块 产品介绍
- 企业网站如何选择域名更好 小技巧分享
- Java加密技术——对称加密与非对称加密
- 第二册第五单元总结