Lang:G++
Edit12345678910111213141516171819202122232425262728293031#include<iostream>#include<cstring>#include<cstdio>#include<cmath>#include<queue>#define eps 1e-5#define oo 12357#define MAXN 130using namespace std;int dp[MAXN][MAXN];class Matrix{private:int a[MAXN][MAXN];int n;public:Matrix(){memset(a,0,sizeof(a));}int initial(int x) {n=x;for (int i=0;i<x;i++) a[i][i]=1;}void copy(int s[MAXN][MAXN]){for (int i=0;i<n;i++)for (int j=0;j<n;j++)a[i][j]=s[i][j];}Matrix operator *(Matrix x) const{Matrix ans;ans.n=n;