本文共 1138 字,大约阅读时间需要 3 分钟。
#include#include using namespace std;const int N=2;int m;struct Matrix{ int m[N][N];}matrix;Matrix I={1,0, 0,1};Matrix p;inline Matrix multiply(Matrix a,Matrix b){ int i,j,k; Matrix re; for(i=0;i 0){ if(n&1){ b=multiply(b,re); } n=n>>1; re=multiply(re,re); } return b;}int main(){ int b; while(cin>>b>>m){ for(int i=0;i<2;i++) for(int j=0;j<2;j++) cin>>p.m[i][j]; matrix=quick_pow(b); for(int i=0;i<2;i++){ for(int j=0;j<2;j++) cout< <<" "; //坑 如果m=1且输出单位矩阵就要mod成0 cout<
转载地址:http://zbmvi.baihongyu.com/