核反應堆
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微秒時高能質...