USACO1.2--Milking Cows
2015-03-05 15:11
316 查看
将输入的时间按起点排序后就可以直接模拟了,注意区间嵌套的情况,开始的时候没考虑,导致WA了好几次。
代码如下:
代码如下:
/* ID: 15674811 LANG: C++ TASK: milk2 */ #include<iostream> #include<cstdio> #include<cstring> #include<algorithm> #include<fstream> using namespace std; typedef struct { int t1,t2; }P; P p[1000000]; bool cmp(P p1,P p2) { if(p1.t1<p2.t1) return true; return false; } int main() { ofstream fout("milk2.out"); ifstream fin("milk2.in"); int n; while(fin>>n) { for(int i=1;i<=n;i++) fin>>p[i].t1>>p[i].t2; sort(p+1,p+n+1,cmp); int time1=0,time2=0; int Begin=p[1].t1,End=p[1].t2; time1=End-Begin; for(int i=2;i<=n;i++) { if(p[i].t1<=End&&p[i].t2>End) ///开始的时候只有第一个判定条件 { ///后面考虑到了区间嵌套的情况又加了第二个条件 End=p[i].t2; } else if(p[i].t1>End) { time1=max(time1,End-Begin); time2=max(time2,p[i].t1-End); Begin=p[i].t1; End=p[i].t2; } } time1=max(time1,End-Begin); ///如果有区间嵌套的情况,需要最后判一次 fout<<time1<<" "<<time2<<endl; } return 0; }
相关文章推荐
- USACO-Section1.2 Milking Cows [线段树]
- USACO Section 1.2 Milking Cows
- USACO Section 1.2 Milking Cows 解题报告
- [USACO1.2]挤牛奶Milking Cows 差分
- USACO Section 1.2 Milking Cows
- 【USACO1.2_1】★Milking Cows 挤牛奶
- USACO 1.2-Milking Cows
- USACO - Chapter1 Section 1.2 - Milking Cows
- USACO-Section 1.2 Milking Cows【贪心算法】
- USACO 1.2 Milking Cows
- usaco 1.2 Milking Cows
- USACO 1.2 Milking Cows (milk2)
- usaco 1.2:Milking Cows
- [题目] Section 1.2 Milking Cows(USACO)
- USACO 1.2 Milking Cows
- 【区间计数】Milking Cows 挤牛奶 (milk2) Usaco_Training 1.2
- USACO1.2 Milking Cows
- USACO 1.2 Milking Cows
- USACO 1.2 Milking Cows (归并排序+离散化)
- USACO-Section 1.2 Milking Cows[数组模拟]