编号 | 题目 | 状态 | 分数 | 总时间 | 内存 | 代码 / 答案文件 | 提交者 | 提交时间 |
---|---|---|---|---|---|---|---|---|
#46805 | #1029. 寒域爷的兔子 | Accepted | 100 | 199 ms | 700 K | C++ 17 / 1.6 K | 计试001-顾真榕 | 2020-11-30 9:03:28 |
#include <bits/stdc++.h>
#define MAXN 101
typedef unsigned long long ull;
using namespace std;
struct Matrix {
ull a[MAXN][MAXN];
int size;
Matrix(int size) {
this->size = size;
for (int i = 0; i < size; i++) {
for (int j = 0; j < size; j++) {
a[i][j] = 0;
}
}
}
Matrix(ull a11, ull a12, ull a21, ull a22) {
this->size = 2;
this->a[0][0] = a11;
this->a[0][1] = a12;
this->a[1][0] = a21;
this->a[1][1] = a22;
}
Matrix operator*(Matrix& other) {
Matrix ans = Matrix(this->size);
for (int i = 0; i < this->size; i++) {
for (int j = 0; j < this->size; j++) {
for (int k = 0; k < this->size; k++) {
ans.a[i][j] += this->a[i][k] * other.a[k][j];
}
}
}
return ans;
}
Matrix operator%(int& b) {
Matrix temp = *this;
for (int i = 0; i < this->size; i++) {
for (int j = 0; j < this->size; j++) {
temp.a[i][j] %= b;
}
}
return temp;
}
Matrix quickPow(ull power, int mod) {
Matrix ans = Matrix(1, 0, 0, 1);
Matrix base = *this;
while (power) {
if (power & 1)
ans = (ans * base) % mod;
base = base * base % mod;
power >>= 1;
}
return ans;
}
};
int main() {
Matrix mat = Matrix(1, 1, 1, 0);
ull n;
int mod;
cin >> n >> mod;
Matrix ans = mat.quickPow(n, mod);
cout << 2 * ans.a[0][1] % mod;
}
用户输出
5770
系统信息
Exited with return code 0
用户输出
27662
系统信息
Exited with return code 0
用户输出
8791
系统信息
Exited with return code 0
用户输出
6732
系统信息
Exited with return code 0
用户输出
1454
系统信息
Exited with return code 0
用户输出
3790
系统信息
Exited with return code 0
用户输出
11690
系统信息
Exited with return code 0
用户输出
2151
系统信息
Exited with return code 0
用户输出
1617
系统信息
Exited with return code 0
用户输出
10509
系统信息
Exited with return code 0
用户输出
4380
系统信息
Exited with return code 0
用户输出
2560
系统信息
Exited with return code 0
用户输出
1938
系统信息
Exited with return code 0
用户输出
10705
系统信息
Exited with return code 0
用户输出
9350
系统信息
Exited with return code 0
用户输出
8076
系统信息
Exited with return code 0
用户输出
7210
系统信息
Exited with return code 0
用户输出
666
系统信息
Exited with return code 0
用户输出
16089
系统信息
Exited with return code 0
用户输出
5065
系统信息
Exited with return code 0
用户输出
9362
系统信息
Exited with return code 0
用户输出
9370
系统信息
Exited with return code 0
用户输出
4198
系统信息
Exited with return code 0
用户输出
4041
系统信息
Exited with return code 0
用户输出
4361
系统信息
Exited with return code 0
用户输出
11702
系统信息
Exited with return code 0
用户输出
13980
系统信息
Exited with return code 0
用户输出
1442
系统信息
Exited with return code 0
用户输出
24628
系统信息
Exited with return code 0
用户输出
6954
系统信息
Exited with return code 0
用户输出
5562
系统信息
Exited with return code 0