xdoj-1109
来源:互联网 发布:mysql select 语句 编辑:程序博客网 时间:2024/05/22 10:44
#include<cstdio>#include<cstring>const int mod=10007;struct Mat{ int mat[3][3];};Mat Mult(Mat a,Mat b){ Mat c; memset(c.mat,0,sizeof(c.mat)); for(int i=0;i<3;i++){ for(int j=0;j<3;j++){ for(int k=0;k<3;k++){ c.mat[i][j]+=a.mat[i][k]*b.mat[k][j]; c.mat[i][j]%=mod; } } } return c;}Mat QMult(Mat a,int b){ Mat c; for(int i=0;i<3;i++) for(int j=0;j<3;j++) c.mat[i][j]=i==j; while(b){ if(b&1) c=Mult(c,a); a=Mult(a,a); b>>=1; } return c;}int main(){ int n; while(~scanf("%d",&n)) { Mat c; memset(c.mat,0,sizeof(c.mat)); c.mat[0][0]=c.mat[0][1]=c.mat[0][2]=c.mat[1][0]=c.mat[2][1]=1; if(n==1) puts("1"); else if(n==2) puts("2"); else if(n==3) puts("4"); else { c=QMult(c,n-3); printf("%d\n",(c.mat[0][0]*4+c.mat[0][1]*2+c.mat[0][2])%mod); } }}
0 0
- xdoj-1109
- xdoj-1109
- XDOJ-1003
- xdoj 1012
- xdoj-1111
- xdoj-1042
- xdoj-1040
- xdoj-1011
- xdoj-1022
- xdoj-1056
- xdoj-1055
- xdoj-1003
- XDOJ 1181
- XDOJ 1233
- XDOJ 1213
- XDOJ 1107
- XDOJ 1229
- XDOJ 1006
- rabbitmq 的持久化解读
- 肉刷——App推广作弊内幕系列
- Mysql 关键字-保留字
- 卷积神经网络学习三:神经网络之深度学习与tinny_cnn中的层
- 去伪存真——渠道作弊分析
- xdoj-1109
- Android Zxing的简单使用
- 前端面试试题
- 解决DPDK安装KNI模块时遇到“Unknown symbol in module”的问题
- Jsp动态网站初步项目 --简单商品浏览界面(说明)
- 为 RESTful API 配置 CORS 实现跨域请求
- coredata学习总结(十)
- Qt之操作数据库(SQLite)
- C++ auto_ptr智能指针的用法