zoukankan      html  css  js  c++  java
  • 51nod 1133 不重叠的线段

    基准时间限制:1 秒 空间限制:131072 KB 分值: 10 难度:2级算法题
     收藏
     关注
    X轴上有N条线段,每条线段有1个起点S和终点E。最多能够选出多少条互不重叠的线段。(注:起点或终点重叠,不算重叠)。
     
    例如:[1 5][2 3][3 6],可以选[2 3][3 6],这2条线段互不重叠。
    Input
    第1行:1个数N,线段的数量(2 <= N <= 10000)
    第2 - N + 1行:每行2个数,线段的起点和终点(-10^9 <= S,E <= 10^9)
    Output
    输出最多可以选择的线段数量。
    Input示例
    3
    1 5
    2 3
    3 6
    Output示例
    2

    贪心
    屠龙宝刀点击就送

    #include <algorithm>
    #include <cstdio>
    
    using namespace std;
    struct Node
    {
        int Start,Over;
        bool operator<(Node a)const
        {
            return Over<a.Over;
        }
    }xd[10050];
    int N,Sum;
    int main()
    {
        scanf("%d",&N);
        for(int i=1;i<=N;i++) scanf("%d%d",&xd[i].Start,&xd[i].Over);
        sort(xd+1,xd+1+N);
        Sum=1;
        for(int i=1;i<=N;i++)
        {
            if(xd[1].Over<xd[i].Start)
            {
                Sum++;
                xd[1].Over=xd[i].Over;
            }
        }
        printf("%d",Sum);
        return 0;
    }
     
    我们都在命运之湖上荡舟划桨,波浪起伏着而我们无法逃脱孤航。但是假使我们迷失了方向,波浪将指引我们穿越另一天的曙光。
  • 相关阅读:
    class11_创建新的输出字段P2
    class10_创建新的输出字段
    class09_高级过滤数据
    Markdown高级语法
    class08_过滤数据
    class07_查询数据
    class06_插入数据
    class05_操纵表
    class04_创建表02
    class03_Create a new table by SQL
  • 原文地址:https://www.cnblogs.com/ruojisun/p/6729702.html
Copyright © 2011-2022 走看看