HDU 1.3.1今年暑假不AC

开始看该题,没思路,后来想了想有了但是有一点细节不会实现。上代码把,如下:

#include <cstdio>
#include <cstring>
#include <algorithm>
using namespace std;

typedef struct 
{
	int s,e;	
}Ti;


int Cmp(Ti a,Ti b)
{
	return a.e<b.e;//这里排序注意是对哪个变量排,若对s排组后就需要试探所有可能比较麻烦,对e排最后就是结果
}


int main()
{
	int n,i,j,m;
	Ti ti[110];	
	int count;
	while(scanf("%d",&n)!=EOF&&n!=0){
		i=0;
		m=n;
		while(m){
			scanf("%d%d",&ti[i].s,&ti[i].e);
			m--;
			i++;
		}
		sort(ti,ti+n,Cmp);
		count=1;
		i=0;
		m=ti[0].e;
	 	for(i=1;i<n;i++)
		{
            if(ti[i].s>=m) {
                m=ti[i].e;
                count++;
            }
		}
	
		printf("%d\n",count);
	}
	return 0;
}
 
 

你可能感兴趣的:(ACM,HDU,OJ)