hdu 2157 How many ways?? (矩阵快速幂)

2015-11-21 02:05:26 · 作者: · 浏览: 15

题目大意:

问A-B 走K 部的方法数。


如果矩阵 a 为任意一个点到另外一个点 走 1 步的方法数

那么 a*a 就是任意一个点到另外一个点 走 2 步的方法数

。。。


那么直接快速幂。


#include 
  
   
#include 
   
     #include 
    
      #include 
     
       #include 
      
        #define N 10 using namespace std; int mod = 1000; typedef long long LL; struct matrix { int a[20][20]; }origin; int n,m; matrix multiply(matrix x,matrix y) { matrix temp; memset(temp.a,0,sizeof(temp.a)); for(int i=0;i
       
        >=1; A=multiply(A,A); } return res; } void print(matrix x) { for(int i=0;i