题目

还是一道基础的矩阵快速幂。

具体的居者的幂公式我就不明示了。

#include<stdio.h>
#include<string.h>
#include<algorithm>
using namespace std; int num,mod=;
struct matrix
{
int a[][];
}; matrix multiply(matrix x,matrix y)//矩阵乘法
{
matrix temp;
for(int i=;i<num;i++)
{
for(int j=;j<num;j++)
{
int ans=;
for(int k=;k<num;k++)
{
ans+=((x.a[i][k]*y.a[k][j])%mod);
}
temp.a[i][j]=ans%mod;
}
}
return temp;
} matrix calc(matrix origin,matrix answ,int n)//矩阵快速幂——answ*origin^n
{
while(n)
{
if(n%==)
answ=multiply(origin,answ);
origin=multiply(origin,origin);
n/=;
}
return answ;
} int main()
{ // freopen("in.txt", "r", stdin);
// freopen("out.txt", "w", stdout);
int n;
while(scanf("%d",&n)!=EOF)
{
if(n==-)break;
matrix origin= {,,
,};
matrix answ={,,
,};
num=;
if(n==||n==)printf("%d\n",n);
else
{
answ=calc(origin,answ,n-);
printf("%d\n",answ.a[][]);
}
}
return ;
}

最新文章

  1. 使用NetBeans搭建基于Spring框架的Web应用
  2. python mysql desc
  3. webapp项目前端总结
  4. DataTable .Load 方法 (IDataReader)
  5. 摘自:java夜未眠之java学习之道
  6. MyBatis学习总结_02_使用MyBatis对表执行CRUD操作
  7. mvc的一些知识点
  8. Ruby on Rails Tutorial 第一章 之 简介
  9. EF 的 霸气配置
  10. WPF事件,路由事件
  11. 多标记学习--Learning from Multi-Label Data
  12. java对excel表格的上传和下载处理
  13. 视频云SDK iOS持续集成项目实践
  14. 三、scrapy后续
  15. TCP 详解
  16. 2018年底,IOS面试题的复习之OC的反射机制
  17. 去掉win7快捷方式小箭头
  18. js五道经典练习题--第五道成绩列表
  19. 将WinForm程序(含多个非托管Dll)合并成一个exe的方法
  20. 【Beta阶段】第三次Scrum Meeting!

热门文章

  1. 用Windows API函数(CreateFile/ReadFile/WriteFile/CloseHandle)完成文件拷贝程序(初级版)
  2. Cadence Allegro小技巧-从外部文本文件添加文本
  3. .Net Core下如何管理配置文件(转载)
  4. Git命令收集【不断更新中】
  5. sublime3 注册码
  6. 每日一“酷”之heapq
  7. WPF 系统托盘 图标闪烁
  8. ActiveMQ之MessageListener
  9. Java 网络编程(转)
  10. Java 线程池框架核心代码分析