| Run ID | 作者 | 问题 | 语言 | 测评结果 | Time | Memory | 代码长度 | 提交时间 |
|---|---|---|---|---|---|---|---|---|
| 148136 | 于墨轩 | 小明养猪的故事 | C++ | Wrong Answer | 1 MS | 284 KB | 1002 | 2026-02-09 17:19:56 |
#include <iostream> #include <vector> using namespace std; int main() { int T; cin >> T; for (int i = 0; i < T; i++) { int N; cin >> N; vector<vector<long long>> age(N + 1, vector<long long>(N + 1, 0)); vector<long long> pig(N + 1, 0); if (N >= 1) { age[1][0] = 1; pig[1] = 1; } for (int day = 2; day <= N; day++) { for (int j = day - 2; j >= 0; j--) { age[day][j + 1] = age[day - 1][j]; } long long new_born = 0; for (int j = 1; j < day; j++) { new_born += age[day][j]; } age[day][0] = new_born; long long killed = 0; for (int j = 2; j <= day; j++) { killed += age[day][j]; } pig[day] = pig[day - 1] + new_born - killed; } cout << pig[N] << endl; } return 0; }
------Input------
17 1 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
------Answer-----
1 5 8 13 21 34 55 89 144 233 377 610 987 1597 2584 4181 6765
------Your output-----
1 5 9 17 33 65 129 257 513 1025 2049 4097 8193 16385 32769 65537 131073