active.cpp

来自「内有5个常用算法」· C++ 代码 · 共 66 行

CPP
66
字号
#include <stdio.h>
int n;
class EventAction
{public :
int x,y,z;};

EventAction *a=new EventAction[50];
void sort()
{
	int i,j,t,t1,t2,tag1=1;
	for(i=0;i<n-1&&tag1==1;i++)
	{
		tag1=0;
		for(j=0;j<n-i-1;j++)
			if(a[j].y>a[j+1].y)
			{
				t=a[j].y;
				a[j].y=a[j+1].y;
				a[j+1].y=t;

				t1=a[j].x;
				a[j].x=a[j+1].x;
				a[j+1].x=t1;

				t2=a[j].z;
				a[j].z=a[j+1].z;
				a[j+1].z=t2;
				tag1=1;
			}		
	}
}
void main()
{
	
	int i,j=0,k=1;
	int count=1;
	int tag[50]={0};
	scanf("%d",&n);
	for(i=0;i<n;i++)
	{
		scanf("%d%d",&a[i].x,&a[i].y);
		a[i].z=i+1;
	}
	sort();

	for(i=1;i<n;i++)
	{
		if(a[i].x>=a[j].y)
		{
			j=i;
			count++;
			tag[i]=1;
		}
	}

	tag[0]=1;
	printf("活动安排的个数为:%d\n",count);
	printf("所安排的活动是:");
	for(i=0;i<n;i++)
	{
		if(tag[i]==1)
			printf("%d ",a[i].z);
	}

}

⌨️ 快捷键说明

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