wikioi天梯之1214 线段覆盖 贪心

来源:互联网 发布:java游戏编程培训 编辑:程序博客网 时间:2024/04/29 00:39

题目

1、第一步保证输入的时候左端点是小于又端点的

2、按右端点把所有线段排序

3、扫描整理好的线段数组 每次遇到左端点大于等于max的就记下该线段 并令max的等于该线段的右端点

#include <iostream>#include <algorithm>using namespace std;struct node{  int a,b;};bool cmp(node line1,node line2){    return line1.b < line2.b;}int main(){    int n,max = -9999,count = 0;    node line[101];    cin>>n;    for(int i = 0;i < n;i++)    {        cin>>line[i].a>>line[i].b;        if(line[i].a > line[i].b)swap(line[i].a,line[i].b);    }    sort(line,line + n,cmp);    for(int i = 0;i < n;i++)    {        if(line[i].a >= max)        {            count++;            max = line[i].b;        }    }    cout<<count;    return 0;}


0 0