编号 | 题目 | 状态 | 分数 | 总时间 | 内存 | 代码 / 答案文件 | 提交者 | 提交时间 |
---|---|---|---|---|---|---|---|---|
#21488 | #1029. 寒域爷的兔子 | Accepted | 100 | 143 ms | 412 K | C++ 17 / 1.3 K | Leohh | 2020-02-07 17:29:05 |
#include <iostream>
#include <stdio.h>
#include <string.h>
#define MAX_N 5
#define int unsigned long long
using namespace std;
int n, p;
struct Mat {
int n, m;
int w[MAX_N][MAX_N];
Mat() { memset(w, 0, sizeof(w)); }
Mat(int _n, int _m) : n(_n), m(_m) { memset(w, 0, sizeof(w)); }
static Mat eye(int k) {
Mat m(k, k);
for (int i = 1; i <= k; i++) {
m.w[i][i] = 1;
}
return m;
}
friend Mat operator*(const Mat &a, const Mat &b) {
Mat c(a.n, b.m);
for (int i = 1; i <= a.n; i++) {
for (int j = 1; j <= b.m; j++) {
for (int k = 1; k <= a.m; k++) {
c.w[i][j] = (c.w[i][j] + a.w[i][k] * b.w[k][j]) % p;
}
}
}
return c;
}
friend Mat operator^(Mat a, int k) {
Mat ans = eye(a.n);
while (k) {
if (k & 1) {
ans = ans * a;
}
a = a * a;
k >>= 1;
}
return ans;
}
};
signed main() {
cin >> n >> p;
Mat a(1, 2);
a.w[1][1] = a.w[1][2] = 2;
Mat b(2, 2);
b.w[1][2] = b.w[2][1] = b.w[2][2] = 1;
Mat c = a * (b ^ (n - 1));
cout << c.w[1][1] << endl;
}
用户输出
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