problem description 某核反應堆有兩類事件發生:
高能質點碰擊核子時,質點被吸收,放出3個高能質點和1個低能質點;
低能質點碰擊核子時,質點被吸收,放出2個高能質點和1個低能質點。
假定開始的時候(0微秒)只有乙個高能質點射入核反應堆,每一微秒引起乙個事件發生(對於乙個事件,當前存在的所有質點都會撞擊核子),試確定n微秒時高能質點和低能質點的數目。
input 輸入含有一些整數n(0≤n≤33),以微秒為單位,若n為-1表示處理結束。
output 分別輸出n微秒時刻高能質點和低能質點的數量,高能質點與低能質點數量之間以逗號空格分隔。每個輸出佔一行。
sample input 5 2
-1sample output 571, 209
11, 4
提示可以使用long long int對付gnu c++,使用__int64對付vc6
author
不詳source 2006/1/15
acm程式設計期末考試
recommend
lcy
分析:從第0秒到1秒,1個高能質點放出3個高能質點和1個低能質點,從第1秒到第2秒3個高能質點和乙個低能質點產生(3*3+2*1)個高能質點,同時3個高能質點產生3個低能質點+1個低能點產生1*1個低能質點;a陣列裡面存的是高能質點,b陣列裡面存的是低能質點;a[i]=3*a[i-1]+2*b[i-1];b[i]=a[i-1]+b[i-1];
#include#include#includeusing namespace std;
int main()
; __int64 b[50]=;
int n;
for(int i=1;i<50;i++)
while(cin>>n)
return 0;
}
杭電oj2085 核反應堆
problem description 某核反應堆有兩類事件發生 高能質點碰擊核子時,質點被吸收,放出3個高能質點和1個低能質點 低能質點碰擊核子時,質點被吸收,放出2個高能質點和1個低能質點。假定開始的時候 0微秒 只有乙個高能質點射入核反應堆,每一微秒引起乙個事件發生 對於乙個事件,當前存在的所...
HDU 2085核反應堆
核反應堆 problem description 某核反應堆有兩類事件發生 高能質點碰擊核子時,質點被吸收,放出3個高能質點和1個低能質點 低能質點碰擊核子時,質點被吸收,放出2個高能質點和1個低能質點。假定開始的時候 0微秒 只有乙個高能質點射入核反應堆,每一微秒引起乙個事件發生 對於乙個事件,當...
HDU 2085 核反應堆
解題報告 題目大意,在第0微秒的時候有乙個高能質子,定義有如下反應,當乙個高能質子撞擊核子時,質子被吸收,同時放出3個高能質子和乙個低能質子,如果乙個低能質子撞擊核子的話,可以放出兩個高能質子和乙個低能質子,問在第n微秒的時候一共有多少個高能質子和低能質子。超級簡單dp題,打表就可以了,不打表也行,...