jzoj1758 過河 簡單dp

2021-09-23 08:02:09 字數 1412 閱讀 8261

description

在byteland的許多市民極喜愛那些邏輯思考與物理技巧同樣重要的運動。有一種運動是過hex河——byteland中最寬的河流。有n根柱子,從1到n進行編號(從左至右),跨過這條河流。市民過河不得不如此:從河的左岸走至一根柱上,可能再走到下一根柱上,如此下去,最後到達河右岸。左岸有一根柱子設定在柱子1的左側,右岸有一根柱子設定在柱子n的右側。

在0時刻,有一市民站在左岸,他想盡快到達河的右岸。任意時刻,每一根柱子或者浮上來或者沉下去,市民或者站在某根柱上或者站在河岸。乙個市民只有當柱子浮上時方能站在柱上,這樣的柱子才是可靠的,。

每根柱在0時刻沉下去,然後有a個時間單元浮上來,b個時間單元沉下去,再有a個時間單元浮上來,b個時間單元沉下去,等等。常數a和b對每根柱分別進行定義。例如,對a=2,b=3的某根柱,他在0時刻沉下去,在1,2時刻浮上來;3,4,5時刻沉下去,等等。

在t+1時刻,市民可以選擇距離t時刻所在位置5根柱子之內的可靠的柱子上﹑岸上,或者站在當前的柱子上(如果可靠)或岸上。例如,從柱子5,你能到達下列的任意一根柱子1,2,3,4,5,6,7,8,9,10或者左岸。

寫乙個程式:從檔案riv.in中讀取資料的組數(每組包括對該題目的一套資料);對每一組

﹡讀取柱子的數目和對他們的描述;

﹡計算出市民首先到達河右岸的時刻,如果它能夠到達;

﹡將結果寫至檔案riv.out上。

input

檔案riv.in的第一行包含資料的組數x(1≦x≦5),接下來的許多行組成了這x組數。第一組從輸入檔案的第二行開始,,接下來的每個組直接接在上一組之後。

每組的第一行包括乙個整數n,5output

對第k組,1≦k≦x, 在檔案riv.out的第k行寫出市民最先能到達河右岸的時刻,或者寫上單詞no,如果不可能過河。

設f [i

][j]

f[i][j]

f[i][j

]表示第i個時間單位時是否可以到j處,這是乙個邏輯dp==暴力搜尋。

根據題目資料,顯然當i>5000的時候,就可以判定無法到達。

#include

#include

#include

#define rep(i,x,y) for(register int i=x;i<=y;++i)

#define n 1010

using

namespace std;

int t,a[n]

,b[n]

,n;bool f[

5010

][n]

;int

main()

}if(f[i]

[n+1]==

1)}if

(p==0)

printf

("no\n");

}}

17 5讀書季 開啟

曾記得,買書是最划算的投資,看書是付出最少,收穫最大的投資。5月讀書,勞動節開啟,讀書,高效能mysql 第3版 自從上班之後,慢慢的發現,自己的能力越來越弱,自己也越來越沒自信。很多事要做,但是卻不想做,回頭還是惡性迴圈。好久沒寫部落格,也不知道寫些什麼,csdn沒有私人部落格功能,所以我只好去1...

175 電路維修 bfs

達達是來自異世界的魔女,她在漫無目的地四處漂流的時候,遇到了善良的少女翰翰,從而被收留在地球上。翰翰的家裡有一輛飛行車。有一天飛行車的電路板突然出現了故障,導致無法啟動。電路板的整體結構是乙個r行c列的網格 r,c 500 如下圖所示。電路.png 每個格點都是電線的接點,每個格仔都包含乙個電子元件...

Testlink1 7 5安裝部署

testlink1.7.5安裝部署 wamp5 wamp5是apache mysql php的整合環境,安裝完後即可啟動3者。全部按預設安裝 修改apache埠 iis與apache同時啟動時,因埠號預設都是80,會導致後啟動的服務失敗。因此需要修改其中乙個埠號。在此修改apache的埠號,在apa...