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