编号 | 题目 | 状态 | 分数 | 总时间 | 内存 | 代码 / 答案文件 | 提交者 | 提交时间 |
---|---|---|---|---|---|---|---|---|
#21046 | #1029. 寒域爷的兔子 | Accepted | 100 | 123 ms | 404 K | C++ 11 / 1.2 K | 钱91-夏泽 | 2019-12-03 17:45:48 |
#include <iostream>
using namespace std;
long long a[2][2], p;
long long ret[2][2];
void multr() {
long long c[2][2];
c[0][0] = c[0][1] = c[1][0] = c[1][1] = 0;
for (int i = 0; i < 2; i++) {
for (int j = 0; j < 2; j++) {
for (int k = 0; k < 2; k++) {
c[i][j] += (a[i][k]) * (ret[k][j]) % p;
}
}
}
for (int i = 0; i < 2; i++) {
for (int j = 0; j < 2; j++) {
ret[i][j] = c[i][j];
}
}
return;
}
void multa() {
long long c[2][2];
c[0][0] = c[0][1] = c[1][0] = c[1][1] = 0;
for (int i = 0; i < 2; i++) {
for (int j = 0; j < 2; j++) {
for (int k = 0; k < 2; k++) {
c[i][j] += (a[i][k]) * (a[k][j]) % p;
}
}
}
for (int i = 0; i < 2; i++) {
for (int j = 0; j < 2; j++) {
a[i][j] = c[i][j];
}
}
return;
}
void pow(unsigned long long x) {
while (x) {
if (x & 1)
multr();
multa();
x /= 2;
}
return;
}
int main() {
ret[0][0] = ret[1][1] = 1;
ret[0][1] = ret[1][0] = 0;
unsigned long long n = 0;
cin >> n >> p;
a[0][0] = a[0][1] = a[1][0] = 1;
a[1][1] = 0;
if (n <= 2) {
cout << 2 % p;
return 0;
}
pow(n - 2);
cout << (2 * ret[0][0] + 2 * ret[0][1]) % p;
return 0;
}
用户输出
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