Problem Description

Jason买来了n米长的竹篱笆,打算将n米长的竹篱笆全部用来围成一个三角形的养鸡场。为方便起见,养鸡场三条边的长度都为正整数。同时,他想让自己的养鸡场看起来更美观一些,要求三条边的长度分别在一个区间范围内。

现在,他想知道有多少种不同的方案使得围成的养鸡场满足要求?

 Input

输入包含多组数据。输入数据第一行是一个正整数n,表示竹篱笆的长度。

在接下来三行中,第i行的两个正整数为xi,yi。表示三角形的第i条边的边长ai的范围在[xi,yi]内。

注意:Jason规定a1≤a2≤a3。

 Output

输出一个整数,表示满足要求的不同方案数。

约定:

对于第二行至第四行,都有1≤xi≤yi ≤n

对于50%的数据n≤5000

对于100%的数据n≤200000

 Sample Input

12
3 5
3 5
3 5

 Sample Output

2

 Source

福州大学第十届程序设计竞赛

#include <stdio.h>
#include <algorithm>
using namespace std;
/*思路 : 先确定第一条边(枚举), 然后 确定 第二条边 的变化范围 ,
要注意 题目的限制条件及边的范围,同时要满足构成 三角形的条件 ,
即两边之和大于第三边。确定完第二条边 ,后确定第三条边的变化范围 ,
最后 ans=min(第二条边变化范围,第三条边变化范围).*/
int main()
{
int n,i;
int l[], r[];
while (scanf("%d", &n) == )
{
for (i= ; i < ; i++) scanf("%d%d", l+i, r+i);
int ans=;
for (int i=l[]; i<=r[]; i++)
{
int tmp=(n-i)/;
if (tmp<i) break;
int min1=max(l[], i);
min1=max(min1, n/-i +);
int max1=min(r[], tmp);
int min2=max(l[], tmp+(((n-i) % == ) ? : ));
int max2=min(r[], n-i-min1);
tmp=min(max1-min1+, max2-min2+);
if (tmp>) ans += tmp;
}
printf("%d\n", ans);
}
return ;
}

数论推理

FZU 2127 养鸡场的更多相关文章

  1. BZOJ 2127: happiness [最小割]

    2127: happiness Time Limit: 51 Sec  Memory Limit: 259 MBSubmit: 1815  Solved: 878[Submit][Status][Di ...

  2. FZU 2137 奇异字符串 后缀树组+RMQ

    题目连接:http://acm.fzu.edu.cn/problem.php?pid=2137 题解: 枚举x位置,向左右延伸计算答案 如何计算答案:对字符串建立SA,那么对于想双延伸的长度L,假如有 ...

  3. FZU 1914 单调队列

    题目链接:http://acm.fzu.edu.cn/problem.php?pid=1914 题意: 给出一个数列,如果它的前i(1<=i<=n)项和都是正的,那么这个数列是正的,问这个 ...

  4. ACM: FZU 2105 Digits Count - 位运算的线段树【黑科技福利】

     FZU 2105  Digits Count Time Limit:10000MS     Memory Limit:262144KB     64bit IO Format:%I64d & ...

  5. FZU 2112 并查集、欧拉通路

    原题:http://acm.fzu.edu.cn/problem.php?pid=2112 首先是,票上没有提到的点是不需要去的. 然后我们先考虑这个图有几个连通分量,我们可以用一个并查集来维护,假设 ...

  6. ACM: FZU 2107 Hua Rong Dao - DFS - 暴力

    FZU 2107 Hua Rong Dao Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I6 ...

  7. ACM: FZU 2112 Tickets - 欧拉回路 - 并查集

     FZU 2112 Tickets Time Limit:3000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64u P ...

  8. ACM: FZU 2102 Solve equation - 手速题

     FZU 2102   Solve equation Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%I64d & ...

  9. ACM: FZU 2110 Star - 数学几何 - 水题

     FZU 2110  Star Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64u  Pr ...

随机推荐

  1. bnu 4352 XsugarX的疯狂按键识别(暴力模拟)

    http://www.bnuoj.com/bnuoj/problem_show.php?pid=4352 [题意]:给你个长串,输出该长串中能第一放出的技能,每个技能有对应的一个小子串,不能放出任何技 ...

  2. poj 2449 Remmarguts' Date(第K短路问题 Dijkstra+A*)

    http://poj.org/problem?id=2449 Remmarguts' Date Time Limit: 4000MS   Memory Limit: 65536K Total Subm ...

  3. spring的配置模式与注解模式基础

    “依赖注入”是spring的核心特征,在Web服务器(如Tomcat)加载时,它会根据Spring的配置文件中配置的bean或者是通过注解模式而扫描并装载的bean实例自动注入到Application ...

  4. [JavaScript] js 判断闰年

    /** * 判断闰年函数 * @param {number} year 要判断的年份 * @return {bool} 返回布尔值 * * 其实只要满足下面几个条件即可. * 1.普通年能被4整除且不 ...

  5. 写作技巧--Simile明喻

  6. zoj 3720

    为什么注释掉的地方是错的?  自己的代码好糟烂..... 直接枚举点  判是否在多边形内  加起来求概率    求面积的时候代码写搓了....     比不过别人两行的代码    而且到现在还找不到错 ...

  7. 使用SpringAop 验证方法参数是否合法

    (原文地址:http://blog.csdn.net/is_zhoufeng/article/details/7683194) 1.依赖包    aspectjweaver.jar 其中Maven的配 ...

  8. POJ1265——Area(Pick定理+多边形面积)

    Area DescriptionBeing well known for its highly innovative products, Merck would definitely be a goo ...

  9. Django自定义用户认证系统Customizing authentication

    扩展已有的用户模型Extending the existing User model 有两种方法来扩展默认的User Model而不用重写自己的模型.如果你不需要改变存储在数据库中的字段,而只是需要改 ...

  10. Zookeeper安装和配置

    Zookeeper的安装和配置,可以配置成单机模式.伪集群模式.集群模式. 参考http://coolxing.iteye.com/blog/1871009 一. 单机模式 (1)zookeeper下 ...