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,用乙個空格隔開,表示了將在乙...