zoj 1139 || poj 1468 Rectangles
2011-04-28 20:51
302 查看
判断一个矩形是否在另一个矩形里,直接判断四个点是否在矩形里即可。暴力。。
#include <stdio.h> #include <stdlib.h> #include <string.h> #include <iostream> #include <algorithm> #include <queue> #include <stack> #include <math.h> using namespace std; const int MAX = 5010; const double eps = 1e-6; struct recangle{ double lx,ly,rx,ry;};//左下角,右上角 recangle r[MAX]; bool flag[MAX]; bool dy(double x,double y) { return x > y + eps;} // x > y bool xy(double x,double y) { return x < y - eps;} // x < y bool dyd(double x,double y) { return x > y - eps;} // x >= y bool xyd(double x,double y) { return x < y + eps;} // x <= y bool dd(double x,double y) { return fabs( x - y ) < eps;} // x == y bool r_in_r(recangle a,recangle b) { if( dyd(a.lx,b.lx) && xyd(a.rx,b.rx) && dyd(a.ly,b.ly) && xyd(a.ry,b.ry) ) return true; return false; } int main() { int n; while( ~scanf("%d",&n) ) { memset(flag,false,sizeof(flag)); for(int i=0; i<n; i++) scanf("%lf %lf %lf %lf",&r[i].lx,&r[i].rx,&r[i].ly,&r[i].ry); for(int i=0; i<n; i++) for(int k=0; k<n; k++) if( i != k && r_in_r(r[i],r[k]) ) flag[i] = true; int sum = 0; for(int i=0; i<n; i++) if( flag[i] ) sum++; printf("%d/n",sum); } return 0; }
相关文章推荐
- poj 1468 Rectangles
- POJ 1468 Rectangles(判定点在平行坐标轴的矩形内)
- poj 1468 Rectangles
- POJ 1468 Rectangles 笔记
- POJ 1468 Rectangles
- poj 1468 Rectangles
- POJ 3100 & ZOJ 2818 & HDU 2740 Root of the Problem(数学)
- Hdu 1059 Dividing & Zoj 1149 & poj 1014 Dividing(多重背包)
- POJ 3654 & ZOJ 2936 & HDU 2723 Electronic Document Security(模拟)
- 博弈类题目小结(HDU,POJ,ZOJ)
- zoj 1542 || poj 1861 Network(MST = = Kruskal~)
- zoj 1938 || poj 2249 Binomial Showdown(求二项式系数)
- poj 2031 zoj 1718 Building a Space Station(最小生成树)
- zoj 2158 poj 1789 Truck History (Prim)
- 【有根树的同构】ZOJ 1990/POJ 1635
- Frogger ZOJ 1942 POJ 2253
- poj 1475 || zoj 249 Pushing Boxes
- POJ 1251 Jungle Roads (zoj 1406) MST
- pku1468 Rectangles
- zoj 1700 || poj 1577 Falling Leaves(BST)