题目
第一道高速幂。同一时候也是第一道高斯消元。
输入的边的关系矩阵就是系数矩阵co
[co] ^ T * [ans]== (当前0时刻的状态)。[co] ^ T可由矩阵高速幂解得
那么-T时刻的状态便是ans矩阵的值。可由高斯消元解得
推断一下就可以
高斯消元中 系数矩阵是a[0...n - 1][0...m - 1] 常数矩阵是a[0...n - 1][m]
返回-1表示无解,等于0有唯一解。大于0表示不确定的变量个数
#include #include #include #include #include #include #include #include #include
true : false); } RI(T); co = qpow(co, T); REP(i, n) REP(j, n) a[i][j] = co.v[i][j]; int ans = gauss(n, n); if (ans == -1) puts("none"); else if (ans) puts("ambiguous"); else { REP(i, n) printf("%d%c", a[i][n], (i == n - 1 ?
'\n' : ' ')); } } return 0; }