记录编号 |
169887 |
评测结果 |
AAAAAAAAAAAAAAAAAAAA |
题目名称 |
数列求值 |
最终得分 |
100 |
用户昵称 |
啊吧啦吧啦吧 |
是否通过 |
通过 |
代码语言 |
C++ |
运行时间 |
0.009 s |
提交时间 |
2015-07-11 11:05:39 |
内存使用 |
0.30 MiB |
显示代码纯文本
#include<iostream>
#include<fstream>
using namespace std;
const int MAXN = 2100000001;
struct jv{
long long zhen[2][2];
jv operator * (const jv& x){
jv z = {0};
for(int i = 0; i < 2; ++ i)
for(int j = 0; j < 2; ++ j)
for(int k = 0; k < 2; ++ k)
z.zhen[i][j]=(z.zhen[i][j]+(zhen[i][k]*x.zhen[k][j])%7)%7;
return z;
}
jv operator *= (const jv& x){
*this = *this * x;
}
}m1, m2;
ifstream fi("sequenceb.in");
ofstream fo("sequenceb.out");
#define cin fi
#define cout fo
int n, a, b;
main()
{
ios::sync_with_stdio(0);
cin >> a >> b >> n;
m1.zhen[0][0] = a;
m1.zhen[1][0] = b;
m1.zhen[0][1] = m2.zhen[0][0] = m2.zhen[0][1] = 1;
m2.zhen[1][0] = m1.zhen[1][1] = m2.zhen[1][1] = 0;
n -= 2;
while(n > 0){
if(n & 1)
m2 *= m1;
m1 *= m1;
n >>= 1;
}
cout << m2.zhen[0][0];
}