记录编号 | 215629 | 评测结果 | AAAAAAAAAAAAAAAAAAAAA | ||
---|---|---|---|---|---|
题目名称 | [HAOI 2014]贴海报 | 最终得分 | 100 | ||
用户昵称 | 是否通过 | 通过 | |||
代码语言 | 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; }