深圳网站设计公司wx成都柚米科技15,企业网站建设,东莞电子产品网站建设,市场营销四大分析方法刚看了这道题目完全没思路#xff0c;在网上找了结题报告#xff0c;了解到需用离散化线段树扫描#xff0c;但菜鸟一个#xff0c;发现数据规模并不大#xff0c;用离散化完全可以#xff0c;所以只用了离散化#xff0c;思路还是很清晰的#xff0c;但还是贡献了5个小…刚看了这道题目完全没思路在网上找了结题报告了解到需用离散化线段树扫描但菜鸟一个发现数据规模并不大用离散化完全可以所以只用了离散化思路还是很清晰的但还是贡献了5个小时15次wa,纠结过后发现x,y数组我是从1开始计数的但sort 的时候却是从0开始sort结果导致身心煎熬了n小时粗心惹的祸啊 //离散化求解!!!!
#include iostream
#include algorithm
using namespace std;
const int maxn210;
double x[maxn],y[maxn];
int vis[maxn][maxn];
int n;
struct node
{double x1,y1,x2,y2;
}map[101];
int main()
{int t0;while(scanf(%d,n)n!0){memset(vis,0,sizeof(vis));t;double tot0.0;int i,j1;for(i1;in;i){cinmap[i].x1map[i].y1;x[j]map[i].x1;y[j]map[i].y1;j;cinmap[i].x2map[i].y2;x[j]map[i].x2;y[j]map[i].y2;j;}int i1,i2,j1,j2;sort(x1,x2*n1);sort(y1,y2*n1);for(int k1;kn;k){for(i11;i12*n;i1){if(x[i1]map[k].x1) break;}for(i21;i22*n;i2){if(x[i2]map[k].x2) break;}for(j11;j12*n;j1){if(y[j1]map[k].y1) break;}for(j21;j22*n;j2){if(y[j2]map[k].y2) break;}for(ii1;ii2;i){for(jj1;jj2;j){vis[i][j]1;}}}for(i1;i2*n;i) {for(j1;j2*n;j){totvis[i][j]*(x[i1]-x[i])*(y[j1]-y[j]);}}printf(Test case #%d\n,t);printf(Total explored area: %.2f\n,tot);printf(\n);}return 0;
}转载于:https://www.cnblogs.com/lj-vs-lishimin/archive/2012/09/25/2774383.html