有乙個球形空間產生器能夠在n維空間中產生乙個堅硬的球體。現在,你被困在了這個n維球體中,你只知道球
面上n+1個點的座標,你需要以最快的速度確定這個n維球體的球心座標,以便於摧毀這個球形空間產生器。
第一行是乙個整數n(1<=n=10)。接下來的n+1行,每行有n個實數,表示球面上一點的n維座標。每乙個實數精確到小數點
後6位,且其絕對值都不超過20000。
有且只有一行,依次給出球心的n維座標(n個實數),兩個實數之間用乙個空格隔開。每個實數精確到小數點
後3位。資料保證有解。你的答案必須和標準輸出一模一樣才能夠得分。
20.0 0.0
-1.0 1.0
1.0 0.0
0.500 1.500
列出距離式子(設球心座標x,球上2個點p,q):
$\sum_^(p_i-x_i)^2=r^2$
$\sum_^(q_i-x_i)^2=r^2$
兩式相減,就可以得到乙個一次線性方程
構造出n個方程,高斯消元
1 #include2 #include3 #include4 #include5 #include6using
namespace
std;
7double a[51][51],p[51][51];8
intn;
9void
guass()
10 28 a[j][i]=0;29
}30}31
for (i=n;i>=1;i--)
3238 a[i][n+1]/=a[i][i];
39 a[i][i]=1;40
}41}42
intmain()
43 50
for (i=2;i<=n+1;i++)
5157 a[i-1][n+1]/=2.0;58
}59guass();
60 printf("
%.3lf
",a[1][n+1
]);61
for (i=2;i<=n;i++)
62 printf("
%.3lf
",a[i][n+1
]);63 }
JSOI2008 球形空間產生器
火星人不能忍受地球人對他們的歧視,終於發明了一種非常強大的 球 形空間產生器 球形空間產生器能產生乙個 n 維球體屏障,而且這個屏障是堅 不可摧的,被困在球體內的地球人就被切斷了與外界的聯絡。js08 現在就被困在 了屏障中,情況十分危急,必須盡快找出並摧毀球形空間產生器。js08 經過摸索 和碰壁...
JSOI2008 球形空間產生器
嘟嘟嘟 由題意可知,我們要求乙個 n 元組 x 1,x 2,x 3,dots,x n 滿足 sum a x j 2 r 2 對於 forall i in 1,n 都成立。這個式子說白了就是乙個 n 元二次方程組,很顯然我 們 不會。但是我們會 n 元線性方程組啊,能不能轉化一下?答案是能的。很簡單,...
JSOI2008 球形空間產生器
有乙個球形空間產生器能夠在 n 維空間中產生乙個堅硬的球體。現在,你被困在了這個 n 維球體中,你只知道球面上 n 1個點的座標,你需要以最快的速度確定這個 n 維球體的球心座標,以便於摧毀這個球形空間產生器。第一行是乙個整數 n 1 n 10 接下來的 n 1 行,每行有 n 個實數,表示球面上一...