比赛 小练习赛:B组 评测结果 AAAAAAAAAA
题目名称 贴海报 最终得分 100
用户昵称 hzoi55223 运行时间 0.003 s
代码语言 C++ 内存使用 0.32 MiB
提交时间 2014-10-21 19:16:09
显示代码纯文本
#include<iostream>
#include<cstdio>
using namespace std;
int l[1001],r[1001];
bool f[1001];
int n,ans=1,m;
void work(int,int,int,int);
int main()
{
	freopen("ha14d.in","r",stdin);
	freopen("ha14d.out","w",stdout);
	scanf("%d%d",&m,&n);
	for(int i=1;i<=n;i++) {cin>>l[i]>>r[i];r[i]++;}
	for(int i=n-1;i>=1;i--)
	{
		work(l[i],r[i],i+1,i);
	}
	printf("%d",ans);
	return 0;
}
void work(int L,int R,int t,int P)
{
	if(f[P]) return;
	while(t<=n && (L>=r[t]||R<=l[t])) t++;
	if(t>n)
	{
		ans++;
		f[P]=1;
		return;
	}
	if(L<l[t]&&R>l[t])
	{
		work(L,l[t],t+1,P);
	}
	if(R>r[t]&&L<r[t])
	{
		work(r[t],R,t+1,P);
	}
}