题目
描述:
给出一个线性方程组,有n个方程组,m个未知数。解这个线性方程组。
输入:
第1行:2个整数n和m,(n, m <=400,且n不一定等于m)
接下来n行,每行m+1个整数,表示一个方程的m个未知数的系数和常数(数值不超过1000)
输出:
如果无解,输出“No solution”。
如果有唯一解,输出m行,每行一个未知数的值,保留到小数点第4位。格式见样例。
如果有无穷解,输出m行,如果未知数有确定解,直接输出。如果是自由变元,输出“xx not determined ”格式见样例。
样例输入1:
3 3
2 -1 3 1
4 2 5 4
2 0 2 6
样例输出1:
X[1] = 9.0000
X[2] = -1.0000
X[3] = -6.0000
样例输入2:
3 3
2 -1 3 1
4 -2 5 4
2 -1 4 -1
样例输出2:
X[1] not determined
X[2] not determined
X[3] = -2.0000
样例输入3:
3 4
5 -1 2 1 7
2 1 4 -2 1
1 -3 -6 5 0
样例输出3:
No solution
基本思想
{ 2 x 1 − 1 x 2 + 3 x 3 = 1 4 x 1 + 2 x 2 + 5 x 3 = 4 2 x 1 + 0 x 2 + 2 x 3 = 6 \begin{cases} 2x_1 - 1x_2 + 3x_3 = 1\\ 4x_1 + 2x_2 + 5x_3 = 4\\ 2x_1 + 0x_2 + 2x_3 = 6 \end{cases} ⎩⎪⎨⎪⎧2x1−1x2+3x3=14x1+2x2+5x3=42x1+0x2+2x3=6
对于上面这个方程,我们想要将其化成这个样式:
{ c 1 x 1 + 0 x 2 + 0 x 3 = v a l 1 0 x 1 + c 2 x 2 + 0 x 3 = v a l 2 0 x 1 + 0 x 2 + c 3 x 3 = v a l 3 ⇒ { c 1 x 1 + 0 + 0 = v a l 1 0 + c 2 x 2 + 0 = v a l 2 0 + 0 + c 3 x 3 = v a l 3