DFS之北大百煉1724

2021-08-15 02:54:40 字數 1092 閱讀 5940

dfs專題之北大百煉1724

先給出原始碼

//ac 

#include

#include

#include

using

namespace

std;

int k,n,r;

//物件導向的思想 --> 將路的資訊抽象為乙個結構體,然後儲存

struct road ;

vector

citymap[110]; //鄰接表。citymap[i]是從點i有路連到的城市集合

int minlen = 1

<< 30; //當前找到的最優路徑的長度

int totallen; //正在走的路徑的長度

int totalcost ; //正在走的路徑的花銷

int visited[110]; //城市是否已經走過的標記

int minl[110][10100]; //minl[i][j]表示從1到i點的,花銷為j的最短路的長度

void dfs(int s) //從 s開始向n行走

for( int i = 0 ;i < citymap[s].size(); ++i )

}}int main()

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

memset(visited,0,sizeof(visited));

totallen = 0;

totalcost = 0;

visited[1] = 1;

minlen = 1

<< 30;

dfs(1);

if( minlen < (1

<< 30))

cout

<< minlen << endl;

else

cout

<< "-1"

<< endl;}/*

5671 2 2 3

2 4 3 3

3 4 2 4

1 3 4 1

4 6 2 1

3 5 2 0

5 4 3 2

**/

需要解決的問題

百煉 4083 我愛北大

總時間限制 1000ms 記憶體限制 65536kb 描述 紅樓飛雪,一時英傑 耳邊傳來了那熟悉的歌聲。而這,只怕是我最後一次聽到這個聲音了。想當年,我們曾經懷著豪情壯志,許下心願,走過靜園,走過一體,走過未名湖畔的每個角落。想當年,我們也曾慷慨高歌,瞻仰民主與科學,瞻仰博雅塔頂,那百年之前的遺韻。...

百煉 12558 島嶼周長(dfs)

描述 用乙個n m的二維陣列表示地圖,1表示陸地,0代表海水,每一格都表示乙個1 1的區域。地圖中的格仔只能橫向或者縱向連線 不能對角連線 連線在一起的陸地稱作島嶼,同時整個地圖都被海水圍繞。假設給出的地圖中只會有乙個島嶼,並且島嶼中不會有湖 即不會有水被陸地包圍的情況出現 請判斷所給定的二維地圖中...

百煉 1321 棋盤問題(dfs)

描述在乙個給定形狀的棋盤 形狀可能是不規則的 上面擺放棋子,棋子沒有區別。要求擺放時任意的兩個棋子不能放在棋盤中的同一行或者同一列,請程式設計求解對於給定形狀和大小的棋盤,擺放k個棋子的所有可行的擺放方案c。輸入輸入含有多組測試資料。每組資料的第一行是兩個正整數,n k,用乙個空格隔開,表示了將在乙...