记录编号 413137 评测结果 AAAAA
题目名称 木棍 最终得分 100
用户昵称 GravatarHallmeow 是否通过 通过
代码语言 C++ 运行时间 0.015 s
提交时间 2017-06-10 21:40:07 内存使用 0.39 MiB
显示代码纯文本
  1. #include<iostream>
  2. #include<cstdio>
  3. #include<cstring>
  4. #include<algorithm>
  5. using namespace std;
  6. #define pos(i,a,b) for(int i=(a);i<=(b);i++)
  7. struct haha
  8. {
  9. int l,w;
  10. }stick[6000];
  11. int ans;
  12. bool cmp(const haha &a,const haha &b)
  13. {
  14. if(a.l!=b.l)
  15. return a.l<b.l;
  16. else
  17. return a.w<b.w;
  18. }
  19. int ll,ww;
  20. int n;
  21. int flag[6000];
  22. inline int check()
  23. {
  24. pos(i,1,n)
  25. if(flag[i]==0)
  26. return 0;
  27. return 1;
  28. }
  29. inline int read()
  30. {
  31. int su=0;
  32. char ch=getchar();
  33. while(ch<'0'||ch>'9')
  34. ch=getchar();
  35. while(ch<='9'&&ch>='0')
  36. {
  37. su=su*10+ch-'0';
  38. ch=getchar();
  39. }
  40. return su;
  41. }
  42. inline void work()
  43. {
  44. while(1)
  45. {
  46. ll=ww=0;
  47. if(check())
  48. break;
  49. pos(i,1,n)
  50. {
  51. //cout<<flag[i]<<endl;
  52. if(flag[i]==0)
  53. {
  54. if(stick[i].l>=ll&&stick[i].w>=ww)
  55. {
  56. flag[i]=1;
  57. ll=stick[i].l;ww=stick[i].w;
  58. }
  59. }
  60. }
  61. ans++;
  62. }
  63. }
  64. int main()
  65. {
  66. freopen("wooden.in","r",stdin);
  67. freopen("wooden.out","w",stdout);
  68. n=read();
  69. pos(i,1,n)
  70. {
  71. stick[i].l=read();
  72. stick[i].w=read();
  73. }
  74. sort(stick+1,stick+n+1,cmp);
  75. work();
  76. cout<<ans;
  77. //while(1);
  78. return 0;
  79. }