http://www.lydsy.com/JudgeOnline/problem.php?id=1706
论文题,详见《矩阵乘法在信息学中的应用》俞华程。
论文说点不会超过100,于是就开了100,果断RE,然后意识到编号最大会到1000,于是只能加个标号了。
inf开小了,wa了几发...
注意因为改了矩阵乘法定义,所以单位矩阵也不是平常的单位矩阵了(我觉得应该是全为inf),强行搞单位矩阵有点麻烦,所以手动先乘一次,指数减一,这样方便。
这是数据:http://contest.usaco.org/TESTDATA/NOV07_5.htm
/* Footprints In The Blood Soaked Snow */
#include <cstdio>
#include <algorithm>
using namespace std;
const int maxn = 105, inf = 0x3f3f3f3f, maxm = 1005;
int id[maxm], N;
struct _matrix {
int num[maxn][maxn];
} trans;
inline int iread() {
int f = 1, x = 0; char ch = getchar();
for(; ch < '0' || ch > '9'; ch = getchar()) f = ch == '-' ? -1 : 1;
for(; ch >= '0&