问题 E: 画图
来源:互联网 发布:宁夏网络教育培训学院 编辑:程序博客网 时间:2024/06/07 14:18
题目描述
在一个定义了直角坐标系的纸上,画一个(x1,y1)到(x2,y2)的矩形指将横坐标范围从x1到x2,纵坐标范围从y1到y2之间的区域涂上颜色。
下图给出了一个画了两个矩形的例子。第一个矩形是(1,1) 到(4, 4),用绿色和紫色表示。第二个矩形是(2, 3)到(6, 5),用蓝色和紫色表示。图中,一共有15个单位的面积被涂上颜色,其中紫色部分被涂了两次,但在计算面积时只计算一次。在实际的涂色过程中,所有的矩形都涂成统一的颜色,图中显示不同颜色仅为说明方便。
给出所有要画的矩形,请问总共有多少个单位的面积被涂上颜色。
评测用例规模与约定
1<=n<=100,0<=横坐标、纵坐标<=100
输入
输入的第一行包含一个整数n,表示要画的矩形的个数。
接下来n行,每行4个非负整数,分别表示要画的矩形的左下角的横坐标与纵坐标,以及右上角的横坐标与纵坐标。
输出
输出一个整数,表示有多少个单位的面积被涂上颜色。
样例输入
2
1 1 4 4
2 3 6 5
样例输出
15
题解:用一个数组做标记,简单题
AC代码:
#include <iostream>#include<cstdio>#include<cstring>using namespace std;int book[100][100];int main(){ int n; scanf("%d",&n); memset(book,0,sizeof(book)); int x1,y1,x2,y2; int _count=0; for(int i=1;i<=n;i++){ scanf("%d%d%d%d",&x1,&y1,&x2,&y2); for(int a=x1;a<x2;a++){ for(int b=y1;b<y2;b++){ if(book[a][b]==0){ _count++; book[a][b]=1; } } } } printf("%d",_count); return 0;}
阅读全文
0 0
- 问题 E: 画图
- 画图问题
- HNU OJ题库 1004E画图
- C语言画图问题
- 序列化--画图问题
- C#画图闪烁问题
- CScrollView中画图问题
- Rstudio画图问题
- EXCEL画图问题
- Highcharts画图问题
- GDI 画图问题集锦
- matlab画图问题
- Rstudio画图问题
- 画图时锯齿问题
- 链表:画图说明问题-
- interfaceview画图更新问题
- interfaceview画图更新问题
- j2me游戏画图问题?
- 头结点循环链表 C语言
- 30 个java编程技巧(最佳实践的初学者)
- hadoop初识之五:hadoop启动方式、机器上必须的配置、本地native库配置、及hadoop编译
- http协议
- 安卓自定义View基础05-Canvas之基础图形绘制,点,线,矩形,圆,椭圆,弧形等
- 问题 E: 画图
- WPF控件篇(二)
- Windows下Navicat远程连接Debian下的Mysql
- 2440uboot启动内核打印:Verifying Checksum ... Bad Data CRC ERROR: can't get kernel image!
- java算法之归并排序
- Linux ssh登录命令
- 前端偶遇之值栈
- 【DP入门】动态规划初步-几类子序列问题
- linux学习之旅(十五(下))&逻辑卷