记录编号 169887 评测结果 AAAAAAAAAAAAAAAAAAAA
题目名称 数列求值 最终得分 100
用户昵称 Gravatar啊吧啦吧啦吧 是否通过 通过
代码语言 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];
}