14分 求助大佬
查看原帖
14分 求助大佬
533616
BackOutsideBoyz楼主2023/3/7 16:17
#include<stdio.h>//线段覆盖
struct Game
{
	int begin;
	int end;
 }Game[100001];
int main()
 {
 	int n;
	int count=0; 
	int flag[100001];
 	scanf("%d\n",&n);
 	for(int i=0;i<n;i++)
 	{
 		scanf("%d %d",&Game[i].begin,&Game[i].end);
 		
	 }
	 for(int i=0;i<100001;i++)
	 {
	 	flag[i]=1;
	 }
	 for(int i=0;i<n;i++)//按结束时间排序 
	 {
	 	for(int j=i+1;j<n;j++)
	    {
	    	if(Game[j].end<Game[i].end)
			{
				int temp1=Game[j].end;
				Game[j].end=Game[i].end;
				Game[i].end=temp1; 
				
				int temp2=Game[j].begin;
				Game[j].begin=Game[i].begin;
				Game[i].begin=temp2; 
			 } 
		 } 
	 }
	 for(int i=0;i<n;i++)
	 {
	 	 if(flag[Game[i].begin]!=0)
		  {
	 	for(int j=Game[i].begin;j<Game[i].end;j++)//时间置空 
	 	{
	 		flag[j]=0;
		 }
		 count++;
	 	} 
	 	else continue;
	 }
	 
	 printf("%d",count);
     return 0;
 }
2023/3/7 16:17
加载中...