浮水法40WA,求助
查看原帖
浮水法40WA,求助
38031
星灵王楼主2018/10/26 09:31
#include<iostream>
using namespace std;
int a[1005],b[1005];
int n,m,cur,ans; 
bool b1[1005];
void search(int x,int y,int z)
{
	if(b1[cur])
	return ;
	if(z<=m&&(y<a[z]||x>b[z])) 
	z++;
	if(z>m)
	ans++,b1[cur]=true;
	if(x<a[z])
	search(x,a[z]-1,z+1);
	if(b[z]<y)
	search(b[z]+1,y,z+1);
}
int main()
{
	cin>>n>>m;
	for(int i=1;i<=m;i++)
	cin>>a[i]>>b[i];
	for(cur=m-1;cur>=1;cur--)
	search(a[cur],b[cur],cur+1);
	cout<<ans+1<<endl;
	return 0;
}
2018/10/26 09:31
加载中...