cogs184搭建篱笆
来源:互联网 发布:输入法软件 编辑:程序博客网 时间:2024/04/29 22:29
勤奋的农夫约翰想要修建一个4面的篱笆墙把他的奶牛们围起来。他有一块长为N的木板
只要能构成成四边形篱笆,这4块板子的长度可以是任意正整数。那么为了得到完整的篱笆农夫约翰有多少不同的种方法切这个长木板呢?
注意:
- 对于两种方案而言,只要一方存在一个另一方没有的切割点,那它们就将视为不同的方案。不必担心对称或那个其他复杂的情况的排除。
- 请注意,篱笆所围的面积应当大于0。
- 你将高兴的是,我们保证答案适合有符号的32位整型变量。
分数:250
问题名称:quad
输入格式:
- 第1行:一个单独的整数:N
输入样例(file quad.in):
6
输入说明:这个板子的长度是6。
输出格式:
- 第1行:一个单独的整数表示切割方案数。
输出样例:
6
输出说明:
农夫约翰有10种方法切割木板:
但是其中的4种--
是不能构成篱笆的。
题解:
考虑取四个板子的情况 显然是C(n-1,3)(切3刀 就剩下4个板子)
考虑不合法的情况:有一个板子的长度d>=(n+1)/2
当已经截取一个这样的板子 剩下的板子就是在n-d长度的板子上切2刀得到的
那么不合法情况就是∑(i=(n+1)/2,n)C(n-i-1,2)*A(4,1);
代码:
#include<cstdio> using namespace std; int main(){ long long n,m; freopen("quad.in","r",stdin); freopen("quad.out","w",stdout); scanf("%lld",&n); long long ans=(n-1)*(n-2)*(n-3)/6; m=(n+1)/2; for(long long i=m;i<=n-3;i++) ans-=(n-i-1)*(n-i-2)*2; printf("%lld\n",ans); return 0; }
0 0
- cogs184搭建篱笆
- 【排列组合】USACO Oct08 搭建篱笆
- [USACO Oct08] 搭建篱笆解题报告
- 篱笆加密算法
- 【贪心】 篱笆
- zjuoj1327——篱笆
- 篱笆与葡萄园
- BIT 1036 篱笆长度
- 人工智能的篱笆
- 考试题目 篱笆
- 分治法求解切割篱笆
- 篱笆上,一枚甜甜的红太阳
- 算法题目1——闭合篱笆
- 2013寒假练习 1036 篱笆长度
- 排序查找4之篱笆计算
- LeetCode 276. Paint Fence(篱笆涂色)
- P2738 [USACO4.1]篱笆回路Fence Loops
- 篱笆家装宝典之一——卫浴
- 神族文字
- Android 开发之Service 探索如何保证Service不被杀死或被kill之后自动重启
- HBase内置过滤器的一些总结
- 快速瞬变脉冲群试验
- tensorflow45 《面向机器智能的TensorFlow实战》笔记-02-01 测试tensorflow1.1.0可用
- cogs184搭建篱笆
- Windows中IIS服务器被防火墙阻止导致外网无法访问
- svn down出项目后改成WEB项目
- 有关Handler机制的源码学习
- python之OS模块详解
- 17年的夏天,在金融街
- 软考,个人快速成长最好的投资
- 4-10 阶乘计算升级版 (20分)
- Android共享元素场景切换动画的实现