时间限制:1 秒

内存限制:32 兆

特殊判题:否

提交:738

解决:299

题目描述:

sun是万千考研学子中的一员,他每天过着三点一线的生活。

学校里有一个公告栏,他每天都看到上面张贴着各种考研海报。

sun提出了一个问题:公告栏上还剩多少空白区域是没被考研海报张贴过的?

于是sun果断上王道贴上了这道题目。

输入:

公告栏左上角是坐标原点(0,0),公告栏长宽相等。

数据有多组,每组输入公告栏长度n(0<n<=100)。

海报张数m(0<m<=100),以及每张海报的左上角坐标(x1,y1)和右下角坐标(x2,y2)。

注意:其中坐标有可能小于0,大于n,但在int范围内。

输出:

对每一组输入输出公告栏还剩多少空白区域,输出带回车。

样例输入:
  1. 3
  2. 2
  3. 0 0 1 2
  4. 0 0 2 1
  5. 10
  6. 2
  7. 0 0 1 1
  8. 0 0 3 3
样例输出:
  1. 6
  2. 91

思路:

这个题的数据范围比较小,我直接开了一个二维数组,每次按坐标范围进行赋值的。

但接触过线段树的概念,我想这个题也许可以用线段树做,暂时没有尝试。

代码:

  1. #include <stdio.h>
  2. #include <string.h>
  3.  
  4. #define N 100
  5.  
  6. int min(int x, int y)
  7. {
  8. return x<y ? x : y;
  9. }
  10.  
  11. int max(int x, int y)
  12. {
  13. return x>y ? x : y;
  14. }
  15.  
  16. int main(void)
  17. {
  18. int n, m, i, j, k;
  19. int a[N+1][N+1];
  20. int x1, y1, x2, y2;
  21.  
  22. while (scanf("%d", &n) != EOF)
  23. {
  24. scanf("%d", &m);
  25. memset(a, 0, sizeof(a));
  26. for(k=0; k<m; k++)
  27. {
  28. scanf("%d%d%d%d", &x1, &y1, &x2, &y2);
  29. for (i=max(0, x1); i<min(n, x2); i++)
  30. {
  31. for (j=max(0, y1); j<min(n, y2); j++)
  32. {
  33. a[i][j] = 1;
  34. }
  35. }
  36. }
  37. int left = n*n;
  38. for (i=0; i<n; i++)
  39. {
  40. for (j=0; j<n; j++)
  41. {
  42. left -= a[i][j];
  43. }
  44. }
  45. printf("%d\n", left);
  46. }
  47.  
  48. return 0;
  49. }
  50. /**************************************************************
  51. Problem: 1333
  52. User: liangrx06
  53. Language: C
  54. Result: Accepted
  55. Time:50 ms
  56. Memory:912 kb
  57. ****************************************************************/

九度OJ 1333:考研海报 (区间操作)的更多相关文章

  1. 九度OJ 1544 数字序列区间最小值

    题目地址:http://ac.jobdu.com/problem.php?pid=1544 题目描述: 给定一个数字序列,查询任意给定区间内数字的最小值. 输入: 输入包含多组测试用例,每组测试用例的 ...

  2. 九度oj题目&amp;吉大考研11年机试题全解

    九度oj题目(吉大考研11年机试题全解) 吉大考研机试2011年题目: 题目一(jobdu1105:字符串的反码).    http://ac.jobdu.com/problem.php?pid=11 ...

  3. 九度OJ 1371 最小的K个数 -- 堆排序

    题目地址:http://ac.jobdu.com/problem.php?pid=1371 题目描述: 输入n个整数,找出其中最小的K个数.例如输入4,5,1,6,2,7,3,8这8个数字,则最小的4 ...

  4. 【九度OJ】题目1124:Digital Roots 解题报告

    [九度OJ]题目1124:Digital Roots 解题报告 标签(空格分隔): 九度OJ 原题地址:http://ac.jobdu.com/problem.php?pid=1124 题目描述: T ...

  5. 【九度OJ】题目1108:堆栈的使用 解题报告

    [九度OJ]题目1108:堆栈的使用 解题报告 标签(空格分隔): 九度OJ http://ac.jobdu.com/problem.php?pid=1108 题目描述: 堆栈是一种基本的数据结构.堆 ...

  6. 【九度OJ】题目1435:迷瘴 解题报告

    [九度OJ]题目1435:迷瘴 解题报告 标签(空格分隔): 九度OJ http://ac.jobdu.com/problem.php?pid=1435 题目描述: 通过悬崖的yifenfei,又面临 ...

  7. 【九度OJ】题目1065:输出梯形 解题报告

    [九度OJ]题目1065:输出梯形 解题报告 标签(空格分隔): 九度OJ [LeetCode] http://ac.jobdu.com/problem.php?pid=1065 题目描述: 每组测试 ...

  8. 【九度OJ】题目1431:Sort 解题报告

    [九度OJ]题目1431:Sort 解题报告 标签(空格分隔): 九度OJ [LeetCode] http://ac.jobdu.com/problem.php?pid=1431 题目描述: 给你n个 ...

  9. 【九度OJ】题目1171:C翻转 解题报告

    [九度OJ]题目1171:C翻转 解题报告 标签(空格分隔): 九度OJ http://ac.jobdu.com/problem.php?pid=1171 题目描述: 首先输入一个5 * 5的数组,然 ...

随机推荐

  1. 【LeetCode-面试算法经典-Java实现】【109-Convert Sorted List to Binary Search Tree(排序链表转换成二叉排序树)】

    [109-Convert Sorted List to Binary Search Tree(排序链表转换成二叉排序树)] [LeetCode-面试算法经典-Java实现][全部题目文件夹索引] 原题 ...

  2. Nginx:handler模块按处理阶段挂载原理

    参考资料<深入理解Nginx>(陶辉) 在Nginx中,handler模块真正的处理函数通过两种方式挂载到处理过程中,一种方式就是按处理阶段挂载;另外一种挂载方式就是按需挂载. 本次我们将 ...

  3. STL学习笔记(序列式容器)

    Vector Vector是一个动态数组. 1.Vector的操作函数 构造.拷贝和析构 vector<Elem> c //产生一个空vector ,其中没有任何元素 vector< ...

  4. PHP面试题及答案解析(5)—数据结构与算法

    1.使对象可以像数组一样进行foreach循环,要求属性必须是私有.(Iterator模式的PHP5实现,写一类实现Iterator接口) <?php class Test implements ...

  5. layout_gravity和gravity的区别

    受不了了,用一遍查一遍...根本记不住,来这里记录一下 layout_gravity是子view相对于父view的位置,比如说,在button中设置了layout_gravity="cent ...

  6. 用HTML5canvas绘制一个圆环形的进度表示

    先看一下画出来的效果,如下图,这样一个圆环形的进度.  我这里使用HTML5的Canvas来要制作这样一个圆环形的进度, 首先是HTML页面,HTML5的文档标识是: 这个文档标识要比HTML4的简单 ...

  7. different between method and function

    A method is on an object. A function is independent of an object. For Java, there are only methods. ...

  8. 安装java运行环境

    1.查看java安装版本 执行命令java -version查看已安装java运行环境信息. 2.下载JDK 到sun官网下载需要的jdk版本,地址为:http://www.oracle.com/te ...

  9. Extjs4 Combobox 联动始终出现loading错误的解决的方法

    当反复选者combobox 联动时,下级的Combobox 会出现loading的错误表现形式,尽管Store数据已载入完也是一样. 废话少说贴代码就知道怎样处理了:(注意红色部分的关键语句) }, ...

  10. jsp页面用java代码取随机数

    <%int seconds = (int) (System.currentTimeMillis() / 1000); %> 然后在需要随机数的地方加上下面的代码: <input na ...