#P1571. 模拟退火

模拟退火

有 nn 个变量,x1,x2,…,xnx_1, x_2, \dots, x_n。你需要保证 xi≥0,∑i=1nxi=1x_i \geq 0, \sum_{i=1}^n x_i = 1。

并且最大化 ∑i=1n∑j=i+1nwi,jxixj\sum_{i=1}^n \sum_{j=i+1}^n w_{i, j} x_i x_j。

输入格式

多组测试数据,第一行一个数 TT 表示数据组数。

对于每组数据:

第一行一个整数 nn。

接下来 nn 行,每行 nn 个整数 wi,jw_{i,j}。保证 wi,j=wj,iw_{i, j} = w_{j, i} 且 wi,i=0w_{i, i} = 0。

输出格式

对于每组数据,一个实数,表示答案。相对精度或者绝对精度误差 10−1010^{-10} 即可。

样例输入1

1
3
0 2 1
2 0 2
1 2 0

样例输出1

0.5714285714

样例输入输出2

见下发文件。

数据范围

10%10\%, n≤3n \leq 3。

30%30\%, n≤5n \leq 5。

60%60\%, n≤7n \leq 7。

100%100\%, $2\leq n \leq 10, 1\leq T \leq 20, 0\leq w_{i,j} \leq 1000$。