比赛 小练习赛:B组 评测结果 C
题目名称 贴海报 最终得分 0
用户昵称 乌龙猹 运行时间 0.000 s
代码语言 C 内存使用 0.00 MiB
提交时间 2014-10-21 19:16:29
显示代码纯文本
  1. #include<stdio.h>
  2. int l[1001],r[1001];
  3. bool f[1001];
  4. int n,ans=1,m;
  5. void work(int,int,int,int);
  6. int main()
  7. {
  8. freopen("ha14d.in","r",stdin);
  9. freopen("ha14d.out","w",stdout);
  10. scanf("%d%d",&m,&n);
  11. for(int i=1;i<=n;i++) scanf("%d%d",&l[i],&r[i]),r[i]++;
  12. for(int i=n-1;i>=1;i--) work(l[i],r[i],i+1,i);
  13. printf("%d",ans);
  14. }
  15. void work(int L,int R,int t,int P)
  16. {
  17. if(f[P]) return;
  18. while(t<=n && (L>=r[t]||R<=l[t])) t++;
  19. if(t>n)
  20. {
  21. ans++;
  22. f[P]=1;
  23. return;
  24. }
  25. if(L<l[t]&&R>l[t]) work(L,l[t],t+1,P);
  26. if(R>r[t]&&L<r[t]) work(r[t],R,t+1,P);
  27. }