hdu2600

/*
分析:
    水~~~
    不懂线段树的时候,还以为这个题是线段树呢,
虽然当时也会暴力,不过想会了线段树后再做,于是
就把此题做了标记,并留了下来。今儿个偶然翻出来
了。。。才100的数据量,这。。。囧~~~,总不至于
我再敲个线段树+离散化吧。一次遍历KO掉,囧~


                                      2012-10-18
*/








#include"stdio.h"
#include"string.h"
#include"stdlib.h"
struct A
{
	int s,e,flag;
}E[111];
int cmp(const void *a,const void *b)
{
	struct A *c,*d;
	c=(struct A *)a;
	d=(struct A *)b;
	if(c->e!=d->e)	return d->e-c->e;
	else			return c->s-d->s;
}
int main()
{
	int n;
	int p,q;
	int i;
	int t,flag;
	char str[111];
	while(scanf("%d",&n)!=-1)
	{
		scanf("%d%d",&p,&q);
		for(i=0;i<n;i++)
		{
			scanf("%d%d",&E[i].s,&E[i].e);
			gets(str);
			E[i].flag=0;
		}
		qsort(E,n,sizeof(E[0]),cmp);
		if(E[0].e<q)		{printf("%d\n",q);continue;}
		t=E[0].s;
		flag=0;
		for(i=1;i<n;i++)
		{
			if(E[i].e>=t)	t=t<E[i].s?t:E[i].s;
			else	{flag=1;break;}
		}
		if(flag)	printf("%d\n",t-1);
		else		printf("Badly!\n");
	}
	return 0;
}


你可能感兴趣的:(hdu2600)