东莞英文建站网站改备案
news/
2025/9/22 20:38:29/
文章来源:
东莞英文建站,网站改备案,重庆个人网络营销定制,海淀网站建设哪家公司好【来源】 题目3 : 活动中心 【分析】 本题採用的是三分法。 输入的一组点中找出左右边界。作为起始边界。
while(右边界-左边界精度){将左右边界构成的线段均匀分成3段#xff0c;推断切割点的距离关系#xff0c;抹去距离大的一段。更新左右边界。
}
输出左(右)边界 【… 【来源】 题目3 : 活动中心 【分析】 本题採用的是三分法。 输入的一组点中找出左右边界。作为起始边界。
while(右边界-左边界精度){将左右边界构成的线段均匀分成3段推断切割点的距离关系抹去距离大的一段。更新左右边界。
}
输出左(右)边界 【代码】 #include iostream
#include vector
#include cmath
#include iomanip
using namespace std;struct Point
{int x;int y;
};double calc(double x, vectorPoint points)
{double distance 0;for (int i 0; i points.size(); i){double d (points[i].x - x)*(points[i].x - x) (points[i].y)*(points[i].y);distance sqrt(d);}return distance;
}int main()
{int T;cin T;for(int casenum 0; casenum T; casenum){int N;cin N;vectorPoint points;Point p;double maxX -1000000;double minX 1000000;for (int i 0; i N; i){cin p.x p.y;if (p.x minX){minX p.x;}if (p.x maxX){maxX p.x;}points.push_back(p);}double left minX;double right maxX;double m1, m2;while (right - left 5e-8){m1 (left * 2 right) / 3.0;m2 (right * 2 left) / 3.0;double v1 calc(m1, points);double v2 calc(m2, points);if (v1 v2){right m2;}else{left m1;}}cout fixed setprecision(8);cout Case casenum1 : left endl;}//system(pause);return 0;
}【点评】 本题与去年编程之美的题目集会很相似。解法也比較雷同。 【备注】 本代码小数据AC大数据WA。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/910295.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!