Problem Description 某核反应堆有两类事件发生:
Input 输入含有一些整数n(0≤n≤33),以微秒为单位,若n为-1表示处理结束。
Output 分别输出n微秒时刻高能质点和低能质点的数量,高能质点与低能质点数量之间以逗号空格分隔。每个输出占一行。
Sample Input 5 2 -1
Sample Output 571, 209 11, 4 |
#include<iostream>
using namespace std;
int main() {
int n;
long long int high[40] = {1}, low[40] = {0};
// dp
for (int i = 1; i <= 33; i++) {
high[i] = high[i - 1] * 3 + low[i - 1] * 2;
low[i] = high[i - 1] + low[i - 1];
}
while (cin >> n && n != -1) {
cout << high[n] << ", " << low[n] << endl;
}
return 0;
}