NYOJ 195飛翔 動態規劃

2021-07-11 17:49:58 字數 1048 閱讀 9624

描述

鷹最驕傲的就是翱翔,但是鷹們互相都很嫉妒別的鷹比自己飛的快,更嫉妒其他的鷹比自己飛行的有技巧。於是,他們決定舉辦一場比賽,比賽的地方將在乙個迷宮之中。

這些鷹的起始點被設在乙個n*m矩陣的左下角map[1,1]的左下角。終點被設定在矩陣的右上角map[n,m]的右上角,有些map[i,j]是可以從中間穿越的。每乙個方格的邊長都是100公尺。如圖所示:

沒有障礙,也沒有死路。這樣設計主要是為了高速飛行的鷹們不要發現死路來不及調整而發生意外。潘帕斯雄鷹冒著減rp的危險從比賽承辦方戒備森嚴的基地中偷來了施工的地圖。但是問題也隨之而來,他必須在比賽開始之前把地圖的每一條路都搞清楚,從中找到一條到達終點最近的路。(哈哈,笨鳥不先飛也要拿冠軍)但是此鷹是前無古鷹,後無來鷹的吃菜長大的鷹--菜鳥。他自己沒有辦法得出最短的路徑,於是緊急之下找到了學oi的你,希望找到你的幫助。

輸入本題有多組資料。以eof為輸入結束的標誌。

每組測試資料的首行為n,m(0n,m的最短路徑的長度,四捨五入保留到整數即可

樣例輸入

3 23

1 13 2

1 2樣例輸出

這題其實認真看一下應該會發現是最長上公升序列,這題類似與矩形巢狀那題,明白這個做起來就真的很簡單了,所以這題演算法上真的沒得講,關鍵你得看得出來是叫你求數對的最長上公升序列,時間複雜度為o(k*k);最後稍微注意一下處理四捨五入

ac**:

# include # include # include # include # include using namespace std;

struct seg;

seg s[1010];

int dp[1010];

int compare(seg a, seg b)

}max=max(max, dp[i]);

} ans=(m+n-max*2)*100+100.0*sqrt(2.0)*max;

int c=(int)(ans*10)-(int)ans*10;

if(c<=4)

else

} return 0;

}

nyoj195飛翔(動態規劃)

時間限制 3000 ms 記憶體限制 65535 kb 難度 4 描述 鷹最驕傲的就是翱翔,但是鷹們互相都很嫉妒別的鷹比自己飛的快,更嫉妒其他的鷹比自己飛行的有技巧。於是,他們決定舉辦一場比賽,比賽的地方將在乙個迷宮之中。這些鷹的起始點被設在乙個n m矩陣的左下角map 1,1 的左下角。終點被設定...

nyoj195 飛翔 動態規劃

鷹最驕傲的就是翱翔,但是鷹們互相都很嫉妒別的鷹比自己飛的快,更嫉妒其他的鷹比自己飛行的有技巧。於是,他們決定舉辦一場比賽,比賽的地方將在乙個迷宮之中。這些鷹的起始點被設在乙個n m矩陣的左下角map 1,1 的左下角。終點被設定在矩陣的右上角map n,m 的右上角,有些map i,j 是可以從中間...

NYOJ 飛翔 動態規劃

時間限制 3000 ms 記憶體限制 65535 kb 難度 4 鷹最驕傲的就是翱翔,但是鷹們互相都很嫉妒別的鷹比自己飛的快,更嫉妒其他的鷹比自己飛行的有技巧。於是,他們決定舉辦一場比賽,比賽的地方將在乙個迷宮之中。這些鷹的起始點被設在乙個n m矩陣的左下角map 1,1 的左下角。終點被設定在矩陣...