资源简介
时间限制:1000MS 内存限制:65535K
提交次数:119 通过次数:27
题型: 编程题 语言: 无限制
Description
在 X-Y 坐标平面上,给定多个矩形,它们的边分别与坐标轴平行。请计算它们的并的面积。
输入格式
输入第一行为一个整数 n,1<=n<=100,表示矩形的数量。
接下来有 n 行,每行包括四个数:x1,y1,x2,y2 (0<=x1<x2<=100000;0<=y1<y2<=100000),用空格分开,不一定为整数。
(x1,y1)表示一个长方形的左下顶点坐标,(x2,y2)表示右上顶点坐标。
输出格式
n个矩形的并的面积,
代码片段和文件信息
#include
#include
#include
int SegmentMerge(double r[]int lowint highint len);
void MergeSort(double r[]int n);
int main()
{
int N;
double x[205]y[205];
double rectangle[100][4];
int ijk;
int flag[205][205];
double sum=0;
std::cin>>N;
memset(flag0sizeof(flag));
for(i=0;i>x[2*i]>>y[2*i]>>x[2*i+1]>>y[2*i+1];rectangle[i][0]=x[2*i];rectangle[i][1]=y[2*i];rectangle[i][2]=x[2*i+1];rectangle[i][3]=y[2*i+1];}
//输入
MergeSort(x2*N);
MergeSort(y2*N);
//排序
for(i=0;i {
for(j=0;j<2*N;j++)
{
if(x[j]>=rectangle[i][2])break;
for(k=0;k<2*N;k++)
{
if(y[k]>=rectangle[i][3])break;
if(x[j]>=rectangle[i][0]&&y[k]>=rectangle[i][1])flag[j][k]=1;
}
}
}
for(i=0;i<2
- 上一篇:基于LEX的C语言词法分析器
- 下一篇:四则运算C++实现
相关资源
- Thinking in C++中文版
- C++语言程序设计_第四版_郑莉_高清p
- 东南大学C++课件-何洁月80讲(总).
- DevC++
- C/C++实验系统
- 一个月挑战c++
- vsC++编程新手指导
- C++语言编程器
- VS2008 windows应用程序C++
- C++深入版
- C++PPT
- C++沉思录
- c++核心编程技术
- C++出错提示英汉对照
- c++/c语言学习系统
- C和C++安全编码(中文版)
- c++基础教程
- VC++6.0
- Microsoft Visual C++ 2010
- 嵌入式CC++语言精华文章集锦
- 交通灯管理仿真程序
- CC++库函数
- C++_STL使用例子大全
- C C++精华帖合辑(新手必看)
- C++ 基本语法及实例说明
- 《算法竞赛入门经典》
- C++API
- c++深度剖析木马程序
- c++练习题
- vc++6.0初学入门教程(PDF编辑版)
评论
共有 条评论