4.10T2
【问题描述】
qccxhs最近正在向snz学习麻将,麻将的规则稍有不同
总共有n种牌,qccxhs一开始会有一张牌A。
她可以将一种牌转化成另一种牌,来获得胜利
她已经知道出B会赢,但是在那之前,她会经过t次转化操作,来迷惑对手
但是她认为从a转化成b之后下一步立刻转回a是非常愚蠢的,所以她不会这么做
她需要你告诉她所有方案方案数
【输入格式】
输入文件名为desire.in
第一行五个整数$n,m,t,A,B$
之后m行每行两个数$a,b$ ,表示可以互相转化
【输出格式】
输出文件名为desire.out
一行一个数表示总方案数后的结果
【输入样例】
4 5 1 0 1
0 1
0 2
0 3
2 1
3 2
【输出样例】
1
【数据规模与约定】
对于30%的数据, n<=5,m<=10,t<=10
另有10%的数据,每种牌有且仅有2种牌可以转化
对于100%的数据 n<=20,m<=60,t<=$2^{30}$
[暴力思想]
直接沿着边爆搜,期望得分$30$ 分,实际得分 $20$ 分
[分析]
这个一眼就可以看出来矩阵快速幂,但是很明显,按点建矩阵是肯定错的,因为会走回头路,那么我们就考虑按边建矩阵,相邻的双向边不连通,这样就可以保证不走回头路,然后起点为A的边在另一个$1*cnt$的矩阵中打1,最后答案累加终点为B的答案即可
1 |
|