记录编号 351288 评测结果 AAAAAAAAAA
题目名称 删除他们! 最终得分 100
用户昵称 GravatarsrO cwm Orz 是否通过 通过
代码语言 C++ 运行时间 0.547 s
提交时间 2016-11-16 13:50:28 内存使用 1.27 MiB
显示代码纯文本
  1. #include<cstdio>
  2. #include<iostream>
  3. #include<algorithm>
  4. #include<cmath>
  5. #include<queue>
  6. #include<stack>
  7. #include<cstring>
  8. using namespace std;
  9.  
  10. const int maxn = 1000000+10;
  11. int n,m,q;
  12. bool map[maxn];
  13. int ans;
  14.  
  15. /*void work(int a,int b,int c,int d){
  16. for(int i = a; i <= c; i++)
  17. for(int j = b; j <= d; j++)map[i][j]=0;
  18. int sum(0);
  19. for(int i = 0; i < n; i++)
  20. for(int j = 0; j < m; j++)sum += map[i][j];
  21. memset(map,0,sizeof(map));
  22. for(int i = 0; i < n; i++)
  23. for(int j = 0; j < m; j++){
  24. if(sum == 0)break;
  25. sum--;
  26. map[i][j]=1;
  27. }
  28. }*/
  29. void work(int a,int b,int c,int d){
  30. int sum(0);
  31. for(int i = a; i <= c; i++)
  32. for(int j = b; j <= d; j++)map[i*m+j]=0;
  33. for(int i = 0; i < n*m; i++)sum += map[i];
  34. memset(map,0,sizeof(map));
  35. for(int i = 0; i < sum; i++){
  36. map[i] = 1;
  37. }
  38. }
  39. int main(){
  40. #ifndef DEBUG
  41. string FileName="deleteit";
  42. freopen((FileName+".in").c_str(),"r",stdin);
  43. freopen((FileName+".out").c_str(),"w",stdout);
  44. #endif
  45. scanf("%d%d%d",&n,&m,&q);
  46. for(int i = 0 ; i < n*m; i++)map[i]=1;
  47. for(int i = 0; i < q; i++){
  48. int a,b,c,d;
  49. scanf("%d%d%d%d",&a,&b,&c,&d);
  50. work(a,b,c,d);
  51. }
  52. for(int i = 0; i < n*m; i++) ans += map[i];
  53. printf("%d",ans);
  54. }