| ||||||||||
| Online Judge | Problem Set | Authors | Online Contests | User | ||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Web Board Home Page F.A.Qs Statistical Charts | Current Contest Past Contests Scheduled Contests Award Contest | |||||||||
过了 有点体会 尽管时间有点长 内存有点大放假前做的 感觉不错啊 但没ac 开学又看了下 发现有个小错误 submit下 就ac了 时间300多毫秒
但是毕竟是自己做的 庆祝一下
我用的是algorithm里的sort函数 自己定义的第三个参数
思路是这样的
将每组数按第一个数升序排序 然后再合并
具体实现如下
struct two
{
int a;
int b;
};
bool larger(two& c,two& d)
{
if(c.a<d.a)
return 1;
return 0;
}
sort(arr,arr+n,larger);
int s,b;
s=arr[0].a;
b=arr[0].b;
for( i=0;i<=n-1;++i)
{
if(arr[i].a>=s&&arr[i].b<=b)
continue;
else if(arr[i].a>b)
{
cout<<s<<' '<<b<<endl;
s=arr[i].a;b=arr[i].b;
}
else if(arr[i].a>=s&&arr[i].a<=b&&arr[i].b>b)
{
b=arr[i].b;
}
}cout<<s<<' '<<b<<endl;
这样就可以了
不过有的省时间 想交流下 发站内信啊
Followed by: Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator