#include<iostream>
#include<cstdio>
#include<cstring>
#include<set>
#include<queue>
#include<vector>
#include<map>
using namespace std;
#define ll long long
int m[][],a,b,n,t[][];
int temp[][];
void power(int x)
{
if(x==)
{
m[][]=m[][]=;
m[][]=m[][]=;
return ;
}
if(x==)
{
m[][]=a%;
m[][]=b%;
m[][]=;
m[][]=;
return ;
}
power(x>>);
for(int i=;i<=;i++)
{
for(int j=;j<=;j++)
{
temp[i][j]=;
for(int k=;k<=;k++)
{
temp[i][j]=(temp[i][j]+(m[i][k]*m[k][j])%)%;
}
}
}
if(x&)
{
for(int i=;i<=;i++)
{
for(int j=;j<=;j++)
{
m[i][j]=;
for(int k=;k<=;k++)
{
m[i][j]=(m[i][j]+(temp[i][k]*t[k][j])%)%;
}
}
}
}
else
{
for(int i=;i<=;i++)
{
for(int j=;j<=;j++)
{
m[i][j]=temp[i][j];
}
}
} for(int i=;i<=;i++)
{
for(int j=;j<=;j++)
{
m[i][j]=m[i][j]%;
}
}
return ;
} int main()
{ while(scanf("%d%d%d",&a,&b,&n),a||b||n)
{ t[][]=a%;
t[][]=b%;
t[][]=;
t[][]=;
if(n==||n==)
{
printf("1\n");
continue;
}
else
{
power(n-);
printf("%d\n",(m[][]+m[][])%);
}
}
return ;
}

鸣谢https://blog.csdn.net/cambridgeacm/article/details/7703809

最新文章

  1. 1Z0-053 争议题目解析505
  2. 学习 Linux,101: Linux 命令行
  3. android Gui系统之WMS(2)----窗口的添加
  4. 关于事件触发的一个小tips
  5. ios 开发 收起键盘的小技巧
  6. Codeforces Round #369 (Div. 2) C. Coloring Trees(dp)
  7. JavaScript中style.left与offsetLeft的区别
  8. centos虚拟机NAT静态IP设置
  9. 搭建Android环境
  10. VIJOS 1052贾老二算算术 (高斯消元)
  11. python K-means工具包初解
  12. XCode 出现 is missing from working copy文件一直红色情况解决方法
  13. 读《Linux Shell脚本攻略》(第2版) 总结
  14. 国内各大支付平台的API地址
  15. SQLServer之触发器简介
  16. percona mysql server5.7基于gtid的主从复制
  17. Android studio 中,遇到报错:ERROR: x86_64 emulation currently requires hardware acceleration! CPU acceleration status:HAXM must be updated(version 1.1.1&lt;6.0.1)的解决方法
  18. 文件上传以及JS链式结构
  19. DataFrame重命名单个column
  20. Asp.NetCore初步探究

热门文章

  1. 标准 I/O 和管道
  2. vue 路由过渡动效
  3. maven导入sqlserver驱动jar包依赖包到本地仓库
  4. Python学习零基础<入门必学>
  5. .NET CORE(C#) WPF 抽屉式菜单
  6. TP6文档-邓士鹏
  7. [SDOI2018]反回文串
  8. 有关使用phpstudy搭建sqli-lab环境搭建时发生Uncaught Error: Call to undefined function mysql_connect()错误
  9. Function and Function
  10. JAVA控制流程