HDU 2085核反應堆

2021-08-09 11:51:44 字數 922 閱讀 4481

核反應堆

problem description

某核反應堆有兩類事件發生:

高能質點碰擊核子時,質點被吸收,放出3個高能質點和1個低能質點;

低能質點碰擊核子時,質點被吸收,放出2個高能質點和1個低能質點。

假定開始的時候(0微秒)只有乙個高能質點射入核反應堆,每一微秒引起乙個事件發生(對於乙個事件,當前存在的所有質點都會撞擊核子),試確定n微秒時高能質點和低能質點的數目。

input

輸入含有一些整數n(0≤n≤33),以微秒為單位,若n為-1表示處理結束。

output

分別輸出n微秒時刻高能質點和低能質點的數量,高能質點與低能質點數量之間以逗號空格分隔。每個輸出佔一行。

sample input

5 2-1

sample output

571, 209

11, 4提示

可以使用long long int對付

gnu c++

,使用__int64

對付vc6

#include

#include

#include

using namespace std;

int main()

long long a[35],b[35];

a[0]=1;b[0]=0;

int i;

for(i=1;i<35;i++)

a[i]=a[i-1]*3+b[i-1]*2;

b[i]=a[i-1]+b[i-1];

int n;

while(scanf("%d",&n)!=eof)

if(n==-1)

break;

printf("%i64d, %i64d\n",a[n],b[n]);

return 0;

HDU 2085 核反應堆

解題報告 題目大意,在第0微秒的時候有乙個高能質子,定義有如下反應,當乙個高能質子撞擊核子時,質子被吸收,同時放出3個高能質子和乙個低能質子,如果乙個低能質子撞擊核子的話,可以放出兩個高能質子和乙個低能質子,問在第n微秒的時候一共有多少個高能質子和低能質子。超級簡單dp題,打表就可以了,不打表也行,...

HDU 2085 核反應堆

problem description 某核反應堆有兩類事件發生 高能質點碰擊核子時,質點被吸收,放出3個高能質點和1個低能質點 低能質點碰擊核子時,質點被吸收,放出2個高能質點和1個低能質點。假定開始的時候 0微秒 只有乙個高能質點射入核反應堆,每一微秒引起乙個事件發生 對於乙個事件,當前存在的所...

HDU2085 核反應堆 遞推

某核反應堆有兩類事件發生 高能質點碰擊核子時,質點被吸收,放出3個高能質點和1個低能質點 低能質點碰擊核子時,質點被吸收,放出2個高能質點和1個低能質點。假定開始的時候 0微秒 只有乙個高能質點射入核反應堆,每一微秒引起乙個事件發生 對於乙個事件,當前存在的所有質點都會撞擊核子 試確定n微秒時高能質...