★ 輸入檔案:nucle.in 輸出檔案:nucle.out 簡單對比
時間限制:1 s 記憶體限制:128 mb
【問題描述】
乙個核電站有 n 個放核物質的坑,坑排列在一條直線上。如果連續 m 個坑中放入核物質,則會發生**,於是,在某些坑中可能不放核物質。
任務:對於給定的 n 和 m ,求不發生**的放置核物質的方案總數。
【輸入格式】
輸入檔案(nucle.in)只一行,兩個正整數 n , m( 1【輸出格式】
輸出檔案 (nucle.out) 只有乙個正整數 s ,表示方案總數。
【輸入輸出樣例】
輸入:
nucle.in
4 3輸出:
nucle.out13
思路:若用f[i]儲存在這個坑時的已經計算過的所有情況
對於乙個坑,有三種情況
1:n放與不放。於是此時所有的情況就是2*f[i-1]
2:n==m
這種情況下也可以選擇放與不放,但是當放的時候,若前n-1個已經放了物質,則第n個不能放
於是所有的情況就是2*f[i-1]-1
3:n>m
當選擇不放的時候,就是加上f[i-1]的所有情況
當選擇放的時候,要考慮若放上會**的情況,我們先想若放上之後不**的情況,就是f[i-1],再減去放上之後會**的情況。那麼放上之後會**的情況是什麼呢?如果我們放上會**,那麼i-m-1個一定沒有放。所以放上會**的情況就是f[i-m-1].
so這種情況下的所有情況就是2*f[i-1]-f[i-m-1]
1 #include2using
namespace
std;
3int
main()
417 cout18return0;
19 }
473 核電站問題
輸入檔案 nucle.in 輸出檔案 nucle.out 簡單對比 時間限制 1 s 記憶體限制 128 mb 問題描述 乙個核電站有 n 個放核物質的坑,坑排列在一條直線上。如果連續 m 個坑中放入核物質,則會發生 於是,在某些坑中可能不放核物質。任務 對於給定的 n 和 m 求不發生 的放置核物...
核電站問題
乙個核電站有n個放核物質的坑,坑排列在一條直線上。如果連續m個坑中放入核物質,則會發生 於是,在某些坑中可能不放核物質。任務 對於乙個核電站有n個放核物質的坑,坑排列在一條直線上。如果連續m個坑中放入核物質,則會發生 於是,在某些坑中可能不放核物質。任務 對於給定的n和m,求不發生 的放置核物質的方...
核電站問題
題目描述 乙個核電站有n個放核物質的坑,坑排列在一條直線上。如果連續m個坑中放入核物質,則會發生 於是,在某些坑中可能不放核物質。任務 對於給定的n和m,求不發生 的放置核物質的方案總數。輸入描述 輸入檔案只一行,兩個正整數n,m 1 n 50,2 m 5 輸出描述 輸出檔案只有乙個正整數s,表示方...