站外题80pts求助
  • 板块学术版
  • 楼主Crazyouth
  • 当前回复1
  • 已保存回复1
  • 发布时间2023/2/19 22:43
  • 上次更新2023/10/24 00:16:51
查看原帖
站外题80pts求助
766339
Crazyouth楼主2023/2/19 22:43

题目

#include <iostream>
#include <algorithm>
using namespace std;
int arr[32768];
struct node
{
	int begin,end,last;
}a[1001];
int cmp(node a,node b)
{
	return a.last<b.last;
}
int check(int begin,int end)
{
	for(int i=begin+1;i<end;i++) if(arr[i]) return 0;
	return 1;
}
int main()
{
	int n,ans=0;
	cin>>n;
	for(int i=1;i<=n;i++)
	{
		cin>>a[i].begin>>a[i].end;
		a[i].last=a[i].end-a[i].begin;
	}
	sort(a+1,a+n+1,cmp);
	for(int i=1;i<=n;i++)
	{
		if(check(a[i].begin,a[i].end))
		{
			ans++;
			for(int j=a[i].begin;j<=a[i].end;j++) arr[j]=1;
		}
	}
	cout<<ans;
	return 0;
} 
2023/2/19 22:43
加载中...