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
    贪心算法!类似:喷水装置(二)、外星人的供给站、非洲小孩
    AC码:
    #include<stdio.h>
    #include<algorithm>
    using namespace std;
    struct node
    {
    	int left,right;
    	int sum;
    }num[105];
    int cmp(node a,node b)
    {
    	return a.sum<b.sum;
    }
    int main()
    {
    	int n,i,len,count;
    	while(~scanf("%d",&n))
    	{
    		for(i=0;i<n;i++)
    		{
    			scanf("%d%d",&num[i].left,&num[i].right);
    			num[i].sum=num[i].left*1000+num[i].right;
    		}
    		sort(num,num+n,cmp);
    		len=num[0].right;
    		count=1;
    		for(i=1;i<n;i++)
    		{
    			if(num[i].left>len)
    			{
    				count++;
    				len=num[i].right;
    			}
    			if(num[i].right<len)
    				len=num[i].right;
    		}
    		printf("%d
    ",count);
    	}
    	return 0;
    }        

  • 相关阅读:
    Linux学习(五)
    Linux学习(四)
    Linux学习(三)
    Linux学习(二)
    Linux学习(一)
    JAVA学习笔记(九)
    JAVA学习笔记(八)
    连接报错'mysql_native_password'
    TabControl改变TabPage时自动字体变大
    问题:winform窗体与设计时不一致
  • 原文地址:https://www.cnblogs.com/bhlsheji/p/4355376.html
Copyright © 2011-2022 走看看