⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 zju1076.cpp

📁 zoj solved 今年在zoj上a的题目
💻 CPP
字号:
//zju1076 07.10.01
#include <stdio.h>
#include <string.h>

struct{
	int a;
	int b;
	int index;
}exon[1001],temp;

int s[1001],t[1001];

int main()
{
	int i,j,k;
	int sum,max;
	int n;
	while(scanf("%d",&n) != EOF && n != 0)
	{
		for(i=0;i<n;i++)
		{
			scanf("%d%d",&exon[i].a,&exon[i].b);
			//exon[i].len=1;
			exon[i].index=i+1;
		}
		for(i=0;i<n-1;i++)
		{
			k=i;
			for(j=i+1;j<n;j++)
			{
				if(exon[j].a<=exon[k].a) k=j;
			}
			if(k!=i)
			{
				temp=exon[i];
				exon[i]=exon[k];
				exon[k]=temp;
			}
		}
		max=0;
		for(i=0;i<n;i++)
		{
			sum=1;
			temp=exon[i];
			k=0;
			s[k++]=i;
			for(j=i+1;j<n;j++)
			{
				if(temp.b<=exon[j].a) 
				{
					s[k++]=j;
					temp=exon[j];
					sum++;
				}
			}
			if(max<sum)
			{
				max=sum;
				for(i=0;i<max;i++)
				{
					t[i]=s[i];
				}
			}
		}
		//printf("%d",exon[t[0]].index);
		for(i=0;i<max-1;i++)
		{
			printf("%d ",exon[t[i]].index);
		}
		printf("%d\n",exon[t[max-1]].index);
	}

	return 0;
}



        

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -