#MA0602. 高斯消元2

高斯消元2

题目描述

给你一个含有 nn 个方程, nn 个未知数的线性方程组, 你需要求出每个未知数的值。

如果方程组无解输出 -1, 如果方程组有无穷多个解输出 -2

方程组的格式如下。

  • a11x1+a12x2+a13x3...=y1a_{11}x_1+a_{12}x_2+a_{13}x_3...=y_1
  • a21x1+a22x2+a23x3...=y2a_{21}x_1+a_{22}x_2+a_{23}x_3...=y_2
  • a31x1+a32x2+a33x3...=y3a_{31}x_1+a_{32}x_2+a_{33}x_3...=y_3

输入格式

输入第一行一个数 nn,表示未知数和方程的个数。

接下来 nn 行,每行有 n+1n+1 个整数,第 ii 行的第 j(1jn)j(1≤j≤n) 个整数表示系数 ai,ja_{i,j},第 n+1n+1 个整数表示 yiy_i

输出格式

如果能正常求解,输出 nn 行每行一个数表示答案。为了避免精度问题,请按照分数计算,并输出结果在 mod 109+7mod\ 10^9+7 意义下的结果。

如果不能,输出一行 1-1 或者 2-2,详见题面。

注意:本题假定操作过程中不会出现正好等于 109+710^9+7 的倍数从而为 00 的情况。

2
1 2 4
2 1 5
2
1
2
1 2 4
2 4 5
-1
2
1 2 4
2 4 8
-2
3
1 2 3 4
5 8 7 6
3 7 2 1
636363639
90909092
727272734

数据规模

对于 100% 的数据,保证 2n100,1i,jn,108ai,j,yi1082≤n≤100,1≤i,j≤n,-10^8≤a_{i,j},y_i≤10^8