平衡点 / 【模版】模拟退火

平衡点 / 【模版】模拟退火

[JSOI2004] 平衡点 / 吊打XXX

题目描述

如图,有 \(n\) 个重物,每个重物系在一条足够长的绳子上。

每条绳子自上而下穿过桌面上的洞,然后系在一起。图中 \(x\) 处就是公共的绳结。假设绳子是完全弹性的(即不会造成能量损失),桌子足够高(重物不会垂到地上),且忽略所有的摩擦,求绳结 \(x\) 最终平衡于何处。

注意:桌面上的洞都比绳结 \(x\) 小得多,所以即使某个重物特别重,绳结 \(x\) 也不可能穿过桌面上的洞掉下来,最多是卡在某个洞口处。

输入格式

文件的第一行为一个正整数 \(n\)(\(1\le n\le 1000\)),表示重物和洞的数目。

接下来的 \(n\) 行,每行是 \(3\) 个整数 \(x_i, y_i, w_i\),分别表示第 \(i\) 个洞的坐标以及第 \(i\) 个重物的重量。(\(-10000\le x_i,y_i\le10000, 0<w_i\le1000\))

输出格式

你的程序必须输出两个浮点数(保留小数点后三位),分别表示处于最终平衡状态时绳结 \(x\) 的横坐标和纵坐标。两个数以一个空格隔开。

样例 #1

样例输入 #1

3
0 0 1
0 2 1
1 1 1

样例输出 #1

0.577 1.000

来源

洛谷P1337
本题数据使用洛谷题解中的二分做法生成,共20组,为加强版。
经测试,使用洛谷题解中的三分做法提交,会有5个点WA,您可以下载本题数据来看到底是哪个做法出现了问题

信息

ID
1045
难度
9
分类
模拟退火搜索 点击显示
标签
递交数
107
已通过
1
通过率
1%
上传者

相关

在下列训练计划中:

模板 | Templates