poj 3168 计算几何
来源:互联网 发布:富易交易软件 编辑:程序博客网 时间:2024/05/22 17:07
#include<iostream>#include<cstdio>#include<algorithm>#include<vector>using namespace std;#define MAX(x,y) ((x)>(y)?(x):(y))int vis[25010];struct node{int id;int init,min,max;node() {} node(int a,int b,int c,int d):id(a),init(b),min(c),max(d){}};bool cmp(node a,node b){if(a.init!=b.init)return a.init<b.init;elseif(a.min!=b.min)return a.min<b.min;elsereturn a.max<b.max;}int main(){int n,a,b,c,d,i,res=0,up,right;vector<node>ex,ey;scanf("%d",&n);for(i=0;i<n;i++){scanf("%d%d%d%d",&a,&b,&c,&d);ey.push_back(node(i,b,a,c)); ey.push_back(node(i,d,a,c)); ex.push_back(node(i,a,b,d));ex.push_back(node(i,c,b,d));}int numx=ex.size();int numy=ey.size();sort(ex.begin(),ex.end(),cmp);sort(ey.begin(),ey.end(),cmp);up=ey[0].max;for(i=1;i<numy;i++){if(ey[i].init==ey[i-1].init){if(up>=ey[i].min){vis[ey[i].id]=vis[ey[i-1].id]=1;}}else up=ey[i].max;up=MAX(up,ey[i].max);}up=ex[0].max;for(i=1;i<numx;i++){if(ex[i].init==ex[i-1].init){if(up>=ex[i].min){vis[ex[i].id]=vis[ex[i-1].id]=1;}}else{up=ex[i].max;}up=MAX(up,ex[i].max);}for(i=0;i<n;i++)if(!vis[i])res++;printf("%d\n",res);return 0;}
0 0
- poj 3168 计算几何
- POJ 3304 计算几何
- POJ计算几何
- POJ 1106 计算几何
- POJ 1410 计算几何
- poj (1031) 计算几何
- POJ计算几何
- POJ计算几何
- poj计算几何
- poj 3334 计算几何
- 【转】 POJ计算几何
- poj 1106 计算几何
- poj 1329 计算几何
- poj 计算几何 分类
- POJ 3304 计算几何
- poj 1927 计算几何
- 【计算几何】POJ 1269
- 【计算几何】POJ 2653
- 什么是UNIX/LINUX
- 视觉学习中对象检测到的概率(1)(Probabilistic Visual Learning for Object Representation)
- 蓝桥 剪邮票
- 高性能iOS应用开发-内存管理
- 2-sat 五题 poj 3207 & poj 3683 & poj 3678 &poj 2723 & poj 2749
- poj 3168 计算几何
- JQuery相关
- JVM详解(一基本概念、运行机制)
- 贴片电阻的封装、功率
- 器学习中的数学(5)-强大的矩阵奇异值分解(SVD)及其应用
- 贴片电阻的封装、功率
- eclipse创建maven项目
- 1.0第1章【基础知识】
- 1.1机器语言