Fighting 小銀考呀考不過四級

2021-07-29 12:42:24 字數 1574 閱讀 7735

think:

1遞推:尋找事物之間的規律,通過問題之間的聯絡,推測其滿足的基本規律,本題題點在於每兩個人之間至少會留下兩個空座位,再就是注意每排至少一人,因此可以嘗試多列舉幾組陣列在紙上,然後找規律,列舉的時候盡量注意保留前後兩者的某一共同點,然後思考前一組和當前組存在的聯絡,這個題目當列舉5組資料的時候會發現,當前組資料可已從兩個方面進行分類討論,乙個就是新加的座位不坐人,乙個就是新加的座位坐上人,不坐人的情況就是前一組的情況,坐人的情況又可以分為兩種情況進行討論,即坐乙個人和坐不止乙個人,當坐不止乙個人的情況的時候就可以向之前列舉的資料靠攏,並在尋找的過程中盡量聯絡至少會留下兩個座位這個條件,然後進而會尋找推測遞推規律:f(n)= f(n-1) + 1 + f(n-3),然後進行驗證是否正確,題目在遞推思想中體現了數學中的分類討論的思想,不斷把事物縮小分類進而使其規律清晰

sdut題目鏈結

fighting_小銀考呀考不過四級

time limit: 1000ms memory limit: 65536kb

problem description

四級考試已經過去好幾個星期了,但是小銀還是對自己的英語水平擔心不已。

小銀打算好好學習英語,爭取下次四級考試和小學弟小學妹一起拿下它!

四級考試的時候,監考老師會按考號分配固定的座位,但唯一不變的是每兩個人之間肯定至少會留下兩個空座位,原因相信大家都懂得。

那麼問題來了,我們現在只關注教室裡的一排座位,假設每排有n個座位,小銀想知道這一排至少坐乙個人的前提下,一共有多少種坐法。

input

多組輸入。

第一行輸入整數n,代表教室裡這一排的座位數目。(1 <= n <= 45)

output

輸出種類數目。輸入輸出各佔一行,保證資料合法。

example input

1 3

5example output

1 3

8hint

author

casithy

以下為accpted**

#include 

#include

#include

using namespace std;

int main()

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

return 0;

}/*****

*****

*****

*****

*****

*****

*****

*****

*****

******

user name:

result: accepted

take time: 0ms

take memory: 148kb

submit time: 2017-03-25 14:43:59

*****

*****

*****

*****

*****

*****

*****

*****

*****

*******/

Fighting 小銀考呀考不過四級

problem description 四級考試已經過去好幾個星期了,但是小銀還是對自己的英語水平擔心不已。小銀打算好好學習英語,爭取下次四級考試和小學弟小學妹一起拿下它!四級考試的時候,監考老師會按考號分配固定的座位,但唯一不變的是每兩個人之間肯定至少會留下兩個空座位,原因相信大家都懂得。那麼問題...

遞迴遞推之Fighting 小銀考呀考不過四級

一行有n個座位,每兩個人之間至少空兩個座位,求至少乙個人的情況下的作為的做法。a n 為n個座位有的所有做法。假設前面的作為已經排好,第n個座位有兩種情況,有人做和沒人做,當有人做時,n 1和n 2一定沒人做,所以和坐法和a n 3 的數量時一樣的,當沒人坐時,那就和a n 1 上的坐法是一樣的,但...

Fighting 小銀考呀考不過四級

time limit 1000ms memory limit 65536kb submit statistic problem description 四級考試已經過去好幾個星期了,但是小銀還是對自己的英語水平擔心不已。小銀打算好好學習英語,爭取下次四級考試和小學弟小學妹一起拿下它!四級考試的時候,...