狡兔三窟問題(深信服提前批筆試第一題)

2021-08-21 04:19:44 字數 878 閱讀 6177

題意大概時這個樣子的

因為是第一次筆試,太緊張了,實力也不夠,一時沒想起來,挺可惜的。當時感覺是列舉+dfs,但是沒過,後來覆盤的時候,驚覺dp+滾動陣列完美解決。

思路:可以呆的洞為1,不可以的為0,先全部初始化為1,橫座標代表洞的標號,縱座標代表第幾天。第j天被檢查的洞一定是0;如果是1號洞或是m號洞,則檢視前一天的二號洞或m-1號洞是0的話,1號洞或m號洞為0;如果前一天的i-1和i+1號洞都是0的話,第i號洞為0。

填表完成之後,遍歷陣列的最後一行,如果有1的話,代表兔子有可能不被抓住,如果全為0,則代表一定會被抓住。

**:

#include 

#include

#include

using namespace std;

int main()

}scanf("%d

%d", &m, &n); //m是洞的編號,n是天數

//第i+1天檢查的洞的編號

for (int i = 0; i < n; i++)

scanf("%d", &a[i]);

//填表

for (int i = 0; i < n; i++)

}int

index = 0;

for (int j = 1; j <= m; j++)

}if (index == 1)

printf("no\n");

else

printf("yes\n");

return

0;}

雖然沒法再提交了,不過測試的幾個用例都是可以的了。

學生問題(三)

改錯的過程也是乙個成長的過程,下面簡單總結一下vb除錯過程中遇到的錯誤 一 敲完一半左右的窗體之後再除錯的,開啟的時候總是出現窗體發現衝突名稱 這個本不是問題,是我儲存工程的時候,窗體的位置儲存錯了導致的,就相當於引用了乙個窗體。所以最好的辦法就是把自己敲過的窗體整理到乙個資料夾裡。萬能的搜尋引擎還...

基礎問題(三)

1 c 標準規定類的大小不為0,空類的大小為1,當類不包含虛函式和非靜態資料成員時,其物件大小也為1。2 四種cast reinpreter cast 用法 reinpreter cast expression type id必須是乙個指標 引用 算術型別 函式指標或者成員指標。它可以把乙個指標轉換...

回溯問題三 迷宮問題

題意 0 0 0 0 1 1 0 0 0 1 1 0 1 0 1 1 0 1 1 1 1 0 0 1 1 上面矩陣表示乙個迷宮,其中的1表示牆壁,0表示可以走的路,現在編寫程式從 0,0 開始走從最後一行有出口處走出 解題方法 回溯法,與全排列 地圖塗色如出一轍,回溯與遞迴聯絡十分緊密,遞迴的過程包...