比赛 小练习赛:B组 评测结果 C
题目名称 贴海报 最终得分 0
用户昵称 乌龙猹 运行时间 0.000 s
代码语言 C 内存使用 0.00 MiB
提交时间 2014-10-21 19:16:29
显示代码纯文本
#include<stdio.h>
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++) scanf("%d%d",&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);
}
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);
}