zoukankan      html  css  js  c++  java
  • nyoj--891--找点(贪心)

    找点

    时间限制:2000 ms  |  内存限制:65535 KB
    难度:2
    描述

    上数学课时,老师给了LYH一些闭区间,让他取尽量少的点,使得每个闭区间内至少有一个点。但是这几天LYH太忙了,你们帮帮他吗?

    输入
    多组测试数据。
    每组数据先输入一个N,表示有N个闭区间(N≤100)。
    接下来N行,每行输入两个数a,b(0≤a≤b≤100),表示区间的两个端点。
    输出
    输出一个整数,表示最少需要找几个点。
    样例输入
    4
    1 5
    2 4
    1 4
    2 3
    3
    1 2
    3 4
    5 6
    1
    2 2
    样例输出
    1
    3
    1
    来源
    原创
    上传者

    TC_李远航



    刚开始很不明白,但是画了几个数据就知道怎么回事了

    #include<stdio.h>
    #include<string.h>
    #include<algorithm>
    using namespace std;
    #define MAX 100010
    struct node
    {
    	int l,r;
    }edge[MAX];
    int vis[MAX];
    int cmp(node s1,node s2)
    {
    	if(s1.r==s2.r)
    	return s1.l<s2.l;
    	return s1.r<s2.r;
    }
    int main()
    {
    	int n;
    	while(scanf("%d",&n)!=EOF)
    	{
    		memset(vis,0,sizeof(vis));
    		for(int i=0;i<n;i++)
    		scanf("%d%d",&edge[i].l,&edge[i].r);
    		sort(edge,edge+n,cmp);
    		int cnt=edge[0].r,sum=1;
    		for(int i=1;i<n;i++)
    		{
    			if(edge[i].l>cnt)
    			{
    				cnt=edge[i].r;
    				sum++;
    			}
    		}
    		printf("%d
    ",sum);
    	}
    	return 0;
    }



  • 相关阅读:
    软件测试 -- alpha测试和beta测试的区别
    软件测试--各种测试的概念
    linux 安装memcached
    Visual Studio 2013 Preview
    基于HAL库STM32的FSMC驱动8位TFTLCD屏
    LM358电压跟随器
    广耦的应用
    MOS管的开关作用
    三极管的开关作用
    STM32的BOOT0 BOOT1的选择
  • 原文地址:https://www.cnblogs.com/playboy307/p/5273730.html
Copyright © 2011-2022 走看看