zoj1128-Atlantis
来源:互联网 发布:alpine mysql 编辑:程序博客网 时间:2024/05/17 04:47
我四级...四级....怎么我四级就忘记报名了呢话说我还交钱了呢,我当初是怎么想的
#include<iostream>#include<set>#include<map>#include<cstring>using namespace std;const int N=409;bool amap[N][N];struct node{double x1,x2,y1,y2;};int main(){int num,z=1;node lin[N];set<double> x,y;while(cin>>num,num){x.clear();y.clear();memset(amap,false,sizeof(amap));int k=0;while(num--){cin>>lin[k].x1>>lin[k].y1>>lin[k].x2>>lin[k].y2;x.insert(lin[k].x1);x.insert(lin[k].x2);y.insert(lin[k].y1);y.insert(lin[k].y2);k++;}map<int ,double > mapx,mapy;mapx.clear();mapy.clear();set<double >::iterator it;map<int ,double >::iterator ma;int i;for(i=0,it=x.begin();it!=x.end();++it,i++)mapx[i]=(*it);for(i=0,it=y.begin();it!=y.end();++it,i++)mapy[i]=(*it);int x1,x2,y1,y2;for(i=0;i<k;i++){for(int j=0;j<mapx.size();j++)if(lin[i].x1==mapx[j]){x1=j;break;}for(int j=0;j<mapx.size();j++)if(lin[i].x2==mapx[j]){x2=j;break;}for(int j=0;j<mapy.size();j++)if(lin[i].y1==mapy[j]){y1=j;break;}for(int j=0;j<mapy.size();j++)if(lin[i].y2==mapy[j]){y2=j;break;}for(int i=x1;i<x2;i++)for(int j=y1;j<y2;j++)amap[i][j]=true;}double sum=0.0;for(int i=0;i<mapx.size();i++)for(int j=0;j<mapy.size();j++)if(amap[i][j])sum+=(mapx[i+1]-mapx[i])*(mapy[j+1]-mapy[j]);cout.setf(ios::fixed);cout.precision(2);cout<<"Test case #"<<z++<<endl<<"Total explored area: "<<sum<<endl<<endl;}return 0;}
- zoj1128-Atlantis
- zoj1128 Atlantis(离散)
- ZOJ1128 Atlantis(POJ1151/HDU1542 求矩形并)
- Atlantis
- Atlantis
- Atlantis
- Atlantis
- Atlantis
- poj_1151(Atlantis)
- poj__1151(Atlantis)
- hdu1542 Atlantis
- Z - Atlantis
- Atlantis(H1542)
- poj1151 Atlantis
- Atlantis(P1151)
- HDU1542--Atlantis
- [HDU1542]Atlantis
- pku1151 atlantis
- java iterator如何倒序输出
- 生成GUID的Java程序
- 会议相关转载笔记
- qt信号槽
- Matlab提供了两种方法进行聚类分析
- zoj1128-Atlantis
- js数组操作大全(转)
- [疯狂Java讲义精粹] 第五章|面向对象(下)
- 2440-中断寄存器详解[转]
- CString 操作指南
- MySQL数据类型char、varchar、text的比较
- 初识win8
- [转载]C++虚函数
- 在python project中实现类似java project里的properties文件功能