我四级...四级....怎么我四级就忘记报名了呢话说我还交钱了呢,我当初是怎么想的
#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;
}