编号 | 题目 | 状态 | 分数 | 总时间 | 内存 | 代码 / 答案文件 | 提交者 | 提交时间 |
---|---|---|---|---|---|---|---|---|
#47029 | #1029. 寒域爷的兔子 | Accepted | 100 | 95 ms | 304 K | C++ / 947 B | Komeiji Satori | 2021-01-12 12:46:12 |
#include <cstdio>
#include <cstdlib>
#define ll long long
#define ull unsigned long long
using namespace std;
int mod;
ull p;
struct matrix {
ll d[3][3];
matrix operator*(matrix x) {
matrix ans;
int i, j, k;
ans.d[1][1] = ans.d[1][2] = ans.d[2][1] = ans.d[2][2] = 0;
for (i = 1; i <= 2; i++) {
for (j = 1; j <= 2; j++) {
for (k = 1; k <= 2; k++) {
ans.d[i][j] += d[i][k] * x.d[k][j];
ans.d[i][j] %= mod;
}
}
}
return ans;
}
public:
void init() {
d[1][1] = d[2][2] = 1;
d[1][2] = d[2][1] = 0;
}
} a, b;
matrix pow(matrix x, ull p) {
matrix ans, base;
ans.init();
base = x;
while (p) {
if (p & ((ull)1))
ans = ans * base;
base = base * base;
p >>= 1;
}
return ans;
}
int main() {
int i;
matrix ans;
scanf("%llu%d", &p, &mod);
a.d[1][1] = 0;
a.d[1][2] = a.d[2][1] = a.d[2][2] = 1;
b.d[1][2] = 1;
b.d[1][1] = b.d[2][1] = b.d[2][2] = 0;
ans = b * pow(a, p);
printf("%lld", ans.d[1][1] * 2 % mod);
// system("pause");
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