比赛 防止浮躁的小练习v0.2 评测结果 AAAAAAAAAAAAAAAAAAAAA
题目名称 贴海报 最终得分 100
用户昵称 kxxy 运行时间 0.019 s
代码语言 C++ 内存使用 0.33 MiB
提交时间 2016-10-08 11:52:47
显示代码纯文本
#include<iostream>
#include<cstdio>
using namespace std;
int n,m,l[1100],r[1100];
bool vis[1100];
int ans=0;
inline void solve(int L,int R,int c,int s)
{
	if(vis[s])
		return ;
	while(c<=m&&(L>=r[c]||R<=l[c]))c++;
	if(c>m)
	{
		ans++;
		vis[s]=1;
		return ;
	}
	if(L<l[c]&&R>l[c])
		solve(L,l[c],c+1,s);
	if(R>r[c]&&L<r[c])
		solve(r[c],R,c+1,s);
}
int main()
{
	freopen("ha14d.in","r",stdin);
	freopen("ha14d.out","w",stdout);
	cin>>n>>m;
	for(int i=1;i<=m;i++)
		cin>>l[i]>>r[i],r[i]++;
	for(int i=m-1;i>=1;i--)
		solve(l[i],r[i],i+1,i);
	cout<<ans+1<<endl;
	return 0;
}