国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發(fā)設計 > 正文

codevs 3044_矩形面積求并_離散

2019-11-08 19:59:43
字體:
來源:轉載
供稿:網(wǎng)友

題目描述

輸入n個矩形,求他們總共占地面積


思路

離散化后算出每一個小矩形的面積,加起來就可以了 然后數(shù)組范圍要注意一下。。。 O(nlogn)


#include <stdio.h>#include <algorithm>using namespace std;struct arr{ double x1,x2,y1,y2;}a[10000];int cam(double x,double y){ return x<y;}double dx[10000],dy[10000],f[10000];int main(){ int n,ll=0; scanf("%d",&n); ll++; int t=0; while (n!=0) { for (int i=0;i<10000;i++) { a[i].x1=a[i].x2=a[i].y1=a[i].y2=dx[i]=dy[i]=f[i]=0; } for (int i=1;i<=n;i++) { scanf("%lf%lf%lf%lf",&a[i].x1,&a[i].y1,&a[i].x2,&a[i].y2); t++; dx[t]=a[i].x1; dy[t]=a[i].y1; t++; dx[t]=a[i].x2; dy[t]=a[i].y2; } sort(dx+1,dx+t+1,cam); sort(dy+1,dy+t+1,cam); double ans=0; for (int i=1;i<=t-1;i++) { double x1=dx[i],l=0,r=0; for (int j=1;j<=t-1;j++) { double y1=dy[j],x2=dx[i+1],y2=dy[j+1]; if (x2==x1||y1==y2) continue; for (int k=1;k<=n;k++) { if (a[k].x1<=x1&&a[k].y1<=y1&&a[k].x2>x1&&a[k].y2>y1) { ans+=(x2-x1)*(y2-y1); break; } } } }
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 万荣县| 稷山县| 枣强县| 黑龙江省| 徐闻县| 麟游县| 平塘县| 寿阳县| 隆子县| 普陀区| 广汉市| 凯里市| 苏尼特左旗| 民丰县| 江华| 西乌| 凤冈县| 贞丰县| 额尔古纳市| 通许县| 墨江| 敖汉旗| 鲁甸县| 宜兰县| 肥城市| 沐川县| 册亨县| 台山市| 甘泉县| 图木舒克市| 宜章县| 寿光市| 珠海市| 嵊泗县| 叶城县| 都兰县| 罗田县| 黎城县| 鄱阳县| 民权县| 遂川县|