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. 去除C/C++程序代码中的注释

    最近搞软件著作权,去除代码空行和注释比较麻烦,想写个程序自动去除,去网上搜了下,发现有类似的程序,不过只有去除注释.鉴于word中可以去除空行(用^p^p替换^p),先用网上的代码,以后有时间写个完整 ...

  2. 各系统下设置输入法按键为ctrl+shift+space

    xp=====(一直找不到..原来右边是可以下拉的).. linux  ibus----- 设置---直接按下Ctrl+Shift+Space

  3. HTTP协议返回代码含义

    1XX 代码这些状态代码表示临时的响应.客户端在收到常规响应之前,应准备接收一个或多个1xx 响应 100 – 继续101 – 切换协议2XX 代码这类状态代码表明服务器成功地接受了客户端请求,一般日 ...

  4. Java连接redis的使用示例

    在多线程下使用Jedis 在不同的线程中使用相同的Jedis实例会发生奇怪的错误.但是创建太多的实现也不好因为这意味着会建立很多sokcet连接,也会导致奇怪的错误发生.单一Jedis实例不是线程安全 ...

  5. 指针 取地址& 解引用 *

    aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAtAAAACNCAIAAAARutrLAAAgAElEQVR4nOydd3wcxd3/R13uvdsUY2

  6. 使用 Spark 进行微服务的实时性能分析

    [编者按]当开发者从微服务架构获得敏捷时,观测整个系统的运行情况成为最大的痛点.在本文,IBM Research 展示了如何用 Spark 对微服务性能进行分析和统计,由 OneAPM 工程师编译整理 ...

  7. HDU 1031 Design T-Shirt

    http://acm.hdu.edu.cn/showproblem.php?pid=1031 题意 :n个人,每个人对m件衣服打分,每个人对第 i 件衣服的打分要加起来,选取和前 k 高的输出他们的编 ...

  8. codeforces #305 div1 done

    总算搞定了这一场比赛的题目,感觉收获蛮大 其中A,B,C都能通过自己的思考解决掉 D题思路好神,E题仔细想想也能想出来 以后坚持每两天或者一天做一场CF的div1的全套题目 除非有实在无法做出来的题目 ...

  9. *[topcoder]GooseTattarrattatDiv1

    http://community.topcoder.com/stat?c=problem_statement&pm=12730&rd=15701 这道题有点意思.首先把字符串变成回文, ...

  10. 218. The Skyline Problem

    题目: A city's skyline is the outer contour of the silhouette formed by all the buildings in that city ...