问题描述

在一个定义了直角坐标系的纸上,画一个(x1,y1)到(x2,y2)的矩形指将横坐标范围从x1到x2,纵坐标范围从y1到y2之间的区域涂上颜色。
  下图给出了一个画了两个矩形的例子。第一个矩形是(1,1) 到(4, 4),用绿色和紫色表示。第二个矩形是(2, 3)到(6, 5),用蓝色和紫色表示。图中,一共有15个单位的面积被涂上颜色,其中紫色部分被涂了两次,但在计算面积时只计算一次。在实际的涂色过程中,所有的矩形都涂成统一的颜色,图中显示不同颜色仅为说明方便。

  给出所有要画的矩形,请问总共有多少个单位的面积被涂上颜色。

输入格式

输入的第一行包含一个整数n,表示要画的矩形的个数。
  接下来n行,每行4个非负整数,分别表示要画的矩形的左下角的横坐标与纵坐标,以及右上角的横坐标与纵坐标。

输出格式

输出一个整数,表示有多少个单位的面积被涂上颜色。

样例输入

2
1 1 4 4
2 3 6 5

样例输出

15

评测用例规模与约定

1<=n<=100,0<=横坐标、纵坐标<=100。

#include<stdio.h>
char s[100][100], c;
int main()
{void stuff(char s[][100], int a, int b, char c, int m, int n);int m, n, q,i,j,a,b,x1,x2,y1,y2,flag;scanf_s("%d%d%d", &m, &n, &q);//a为宽,b为高for (i = 0; i < m; i++){for (j = 0; j < n; j++)s[i][j] = '.';}//以左上角为(0,0)for (i = 1; i <= q; i++){scanf_s("%d", &flag);if (flag){scanf_s("%d%d", &a, &b);getchar();c = getchar();stuff(s, a, b, c, m, n);}//填充else{scanf_s("%d%d%d%d", &x1, &y1, &x2, &y2);if (y1==y2)//纵坐标相等{if (x1 > x2)//保证x1<=x2{int t;t = x1, x1 = x2, x2 = t;}for (j = x1; j <= x2; j++){if (s[j][y1] == '|')s[j][y1] = '+';elses[j][y1] = '-';}}else if (x1==x2)//横坐标相等{if (y1 > y2)//保证y1<=y2{int t;t = y1, y1 = y2, y2 = t;}for (j = y1; j <= y2; j++){if (s[x1][j] == '-')s[x1][j] = '+';elses[x1][j] = '|';}}}//画线}for (i=n-1; i>=0; i--){for (j = 0; j < m; j++){printf("%c", s[i][j]);}printf("\n");}return 0;
}
void stuff(char s[][100], int a, int b, char c, int m, int n)
{int i;int r[100],t[100];for (i = 0; i < 100; i++){r[i] = i;t[i] = i;}s[a][b] = c;//????if (a + 1 < m && s[a + 1][b] != '|' && s[a + 1][b] != '+' && s[a + 1][b] != '-')//向右填充stuff(s, r[a+1], b, c, m, n);if (a - 1 >=0 && s[a - 1][b] != '|' && s[a - 1][b] != '+' && s[a - 1][b] != '-')//向左填充stuff(s, r[a - 1], b, c, m, n);if (b + 1 < n && s[a][b + 1] != '|' && s[a][b + 1] != '+' && s[a][b + 1] != '-')stuff(s, a, t[b + 1], c, m, n);if (b - 1 >=0 && s[a][b - 1] != '|' && s[a][b - 1] != '+' && s[a][b - 1] != '-')stuff(s, a, t[b - 1], c, m, n);return;
}

##CSP 201512-3 画图(C语言)相关推荐

  1. r语言 断轴 画图_R语言基础画图/绘图/作图

    R语言基础画图 R语言免费且开源,其强大和自由的画图功能,深受广大学生和可视化工作人员喜爱,这篇文章对如何使用R语言作基本的图形,如直方图,点图,饼状图以及箱线图进行简单介绍. 0 结构 每种图形构成 ...

  2. r语言 断轴 画图_R语言作图——Density plot

    原创: 黄小仙 上次分享了小提琴曲线(violin plot)的作图方法,今天小仙同学给大家介绍一下如何用R画出漂亮的密度图(density plot). Step1. 绘图数据的准备 首先还是要把你 ...

  3. r语言 断轴 画图_R语言作图——坐标轴截断画图

    1坐标轴截断画图 小伙伴们经常在群里或论坛中提出这样的疑问:遇到的数据不在一个数量级上,但又要在图上同时反映大数据和小数据的变化规律,需要对坐标轴进行截断,怎么破? 向大家推荐R语言plotrix包中 ...

  4. r语言 四格画图_R语言画多组数据相关性分析图

    相关性表示两组数据之间的关系是否"相似"或"相近":但当遇到多组数据时,如何直观的比较各组数据之间的相关性是一个大家比较关注的问题,相关图可以通过对相关系数矩阵 ...

  5. linux r语言画图,R语言︱画图

    笔者寄语:不论画啥,你先plot准没错. plot 二维坐标绘图 dotchart 点图 barplot 条形图 hist 直方图 pie 饼图 points 添加点 lines 添加线 text 添 ...

  6. CSP认证201512-3 画图[C++题解]:dfs、左下角建系、坐标反着读入

    题目分析 来源:acwing 分析: 这题就是画图,划线的话直接for循环来做:填字母的时候用的dfs.不过有几点需要注意. 本题起点在左下角,x方向向右,y方向向左.这跟平时我们从左上角是反着的.举 ...

  7. CCF CSP 201609-2 火车购票(C++语言100分)[简单模拟题]

    1. 问题链接:CCF 201609-2 火车购票 试题编号: 201609-2 试题名称: 火车购票 时间限制: 1.0s 内存限制: 256.0MB 问题描述: 问题描述 请实现一个铁路购票系统的 ...

  8. csp序列查询(C语言)

    csp序列查询 #include<stdio.h>int main(){int n, N, i, sum, j;int A[200];A[0] = 0;sum = 0;scanf(&quo ...

  9. gnuplot用C语言程序画图,c语言中调用gnuplot

    this.p={ m:2, b:2, loftPermalink:'', id:'fks_080064087085082068082081082095083086088068085081080068' ...

  10. CSP认证201409-2 画图[C++题解]:模拟、图形的并

    文章目录 题目解答 题目链接 题目解答 来源:acwing 分析:这题数据量比较小,直接O(n2)O(n^2)O(n2)做法. 开一个二维数组表示整幅图,然后每个矩形都把相应的格子标志为1,最后再遍历 ...

最新文章

  1. 快速撑握C#知识点系列之(struct)结构
  2. python读取文件名-python读取文件名并改名字的实例
  3. hdu3697(贪心+暴力)
  4. linux怎么开ssh端口,如何查看linux中的ssh端口开启状态
  5. Java Spring 后端项目搭建
  6. 制作根文件系统时的错误解决
  7. SAP License:SAP顾问的可持续性发展
  8. 西瓜书+实战+吴恩达机器学习(八)监督学习之朴素贝叶斯 Naive Bayes
  9. 虚拟机Net模式下ping主机和连接外网
  10. IE7下JSON不能有多余的逗号,IE8下创建IMG节点的BUG
  11. Android系统源码目录解析
  12. 【C++】《C++ Primer Plus》--复习题、编程练习题答案
  13. 正文页眉:奇数页为各章题目,偶数页为论文题目
  14. 抓包软件wireshark分析
  15. 什么样的人适合学web前端?
  16. 全新雅思模拟考试开启全国高校预热活动
  17. java 输出乘法口诀第一列_java输出乘法口诀表
  18. ChatGPT 账号被封?推荐 5 款国外网站,完美替代!
  19. 安装完ps2019显示计算机丢失,安装ps2019时出现错误代码146
  20. C++获取打印系统当前时间、日期

热门文章

  1. SharePoint 2013 入门教程--系列文章
  2. 异构计算完全解析-CSDN.NET
  3. C - 查找回文质数
  4. 计算机办公应用总结,2017年办公自动化实习报告总结
  5. Android SDK大连东软镜像地址及地址列表
  6. Akka-CQRS(2)- 安装部署cassandra cluster,ubuntu-16.04.1-LTS and MacOS mojave
  7. bzoj5092: [Lydsy1711月赛]分割序列
  8. 用Eclipse 搭建一个Maven Spring SpringMVC 项目
  9. WCF 第十二章 对等网 使用自定义绑定实现消息定向
  10. 归并法计算数组中的逆序数对