hdu 2855 Fibonacci Check-up
2013-04-14 19:03
302 查看
#include<iostream> #include<cstdio> #include<cstring> #define max_n 2 using namespace std; struct M { int s[max_n][max_n]; }; int mod; M mul(M a,M b) { int i,j,k; M t; memset(t.s,0,sizeof(t.s)); for(i=0;i<2;i++) for(j=0;j<2;j++) { for(k=0;k<2;k++) { t.s[i][j]=(t.s[i][j]+(a.s[i][k]*b.s[k][j])%mod)%mod; } } return t; } M pow(M a,int t) { if(t==1) return a; else { M b=pow(a,t/2); if(t&1) return mul(mul(b,b),a); else return mul(b,b); } } int main() { int t,n; M a,b; scanf("%d",&t); int s1[2][2]={2,1,1,1}; memcpy(a.s,s1,sizeof(s1)); while(t--) { scanf("%d%d",&n,&mod); if(n==0) { printf("0\n"); continue; } b=pow(a,n); printf("%d\n",b.s[0][1]);//因为要乘上初始值F(1)=0;F(2)=1. } return 0; }
相关文章推荐
- HDU 2855:Fibonacci Check-up_斐波拉契问题
- HDU2855 Fibonacci Check-up 矩阵的应用
- HDU - 2855 Fibonacci Check-up 矩阵快速幂
- hdu 2855 Fibonacci Check-up (矩阵)
- 【HDU 2855】 Fibonacci Check-up (矩阵乘法)
- HDU - 2855 Fibonacci Check-up 斐波那契矩阵
- hdu 2855 Fibonacci Check-up(矩阵乘法)
- hdu-2855 Fibonacci Check-up
- hdu 2855 Fibonacci Check-up(犀利的推导公式)
- hdu 2855 Fibonacci Check-up【递推+矩阵快速幂】
- hdu 2855 Fibonacci Check-up
- hdu 2855 Fibonacci Check-up 矩阵+斐波那契通项公式
- hdu 2855 Fibonacci Check-up
- HDU 2855 Fibonacci Check-up 矩阵
- HDU - 2855 Fibonacci Check-up
- HDU 2855 Fibonacci Check-up 构造矩阵
- HDOJ 题目2855 Fibonacci Check-up(矩阵快速幂)
- hdoj 2855 Fibonacci Check-up 【打表找规律 + 矩阵快速幂】
- Fibonacci Check-up (HDU 谢庆皇)
- 杭电2855 Fibonacci Check-up