记录编号 215629 评测结果 AAAAAAAAAAAAAAAAAAAAA
题目名称 [HAOI 2014]贴海报 最终得分 100
用户昵称 GravatarFarmer_Joe 是否通过 通过
代码语言 C++ 运行时间 0.012 s
提交时间 2015-12-23 14:15:46 内存使用 0.35 MiB
显示代码纯文本
#include<cstdio>
#include<algorithm>
using namespace std;
int s[2020]={0};
int w[2020]={0};
int t[2020]={0};
int vis[10020]={0};
bool h[2020]={0};
bool cmp(int a,int b)
{
	return s[a]<s[b];
}
int main()
{
	freopen("ha14d.in","r",stdin);
	freopen("ha14d.out","w",stdout);
	int n,m;
	scanf("%d%d",&n,&m);
	for (int i=1;i<=m;i++)
		scanf("%d%d",&s[i*2-1],&s[i*2]);
	for (int i=1;i<=2*m;i++)
		t[i]=i;
	sort(t+1,t+2*m+1,cmp);
	int tot=0;
	t[0]=0;
	s[0]=-1;
	for (int i=1;i<=2*m;i++)
		w[i]=s[i];
	for (int i=1;i<=2*m;i++)
	{
		if (s[t[i]]==w[t[i-1]]) s[t[i]]=tot;
		else if (s[t[i]]==w[t[i-1]]+1) s[t[i]]=++tot;
		else s[t[i]]=tot+=2;
	}
	for (int i=1;i<=m;i++)
		for(int j=s[i*2-1];j<=s[i*2];j++)
			vis[j]=i;
	int ans=0;
	h[0]=1;
	for (int i=1;i<=m*4;i++)
		if (!h[vis[i]]) {h[vis[i]]=1;ans++;}
	printf("%d",ans);
	return 0;
}