哈利 波特的考試

2022-03-11 19:17:36 字數 1528 閱讀 7742

浙江大學在慕課網上開設的《資料結構》課,陳越老師、何欽銘老師主講,課後作業的一道題。

這個題目是求圖中「每一對頂點之間的最短路徑」,應用到的演算法是floyd演算法。

#define _crt_secure_no_warnings

#include #include #include #define maxverternum 101 //最大定點數設為100

#define infinity 65535 //無窮設為雙位元組無符號整數的最大值65535

typedef int weighttype; //邊的權值設為int型別

typedef char datatype; //頂點儲存的資料型別設定為字元型別

typedef int vertex; //用頂點下標表示頂點,為整型

struct gnode

;//描述邊的型別

struct enode

;//作用:初始化乙個有vertexnum個頂點但沒有邊的圖

struct gnode* creategraph(int vertexnum)

} for (v = 0; v < graph->nv; v++)

}} return graph;

}//作用:在圖中插入邊

void insertedge(struct gnode* graph, struct enode* e)

//作用:構建乙個圖,供主函式呼叫

struct gnode* bulidgraph()

} ////如果頂點有資料的話,讀入資料

//for (v = 0;v < graph->nv;v++)

// return graph;

}//作用:floyd演算法

//引數:struct gnode* graph 圖

// weighttype d[maxverternum] 最短路徑長度

// vertex path[maxverternum] 最短路徑

bool floyd(struct gnode* graph,weighttype d[maxverternum],vertex path[maxverternum])

} for (k = 0;k < graph->nv;k++)

path[i][j] = k;}}

} }return true;

}int main()

if (d[i][j] > temp)

}if (temp < result)

temp = 0;

} }printf("%d %d\n",animal + 1,result);

// system("pause");

return 0;

}

哈利 波特的考試

魔咒的長度就相當於圖中邊的權值,而且告訴我們是無向圖,因為正反都可以變且魔咒長度相同。相當於求解相對於每個節點來說能到達的最遠距離的最小值是多少。是乙個多源最短路問題,應用弗羅伊德演算法解決。include include using namespace std define inf 1000010...

7 8 哈利 波特的考試

哈利 波特要考試了,他需要你的幫助。這門課學的是用魔咒將一種動物變成另一種動物的本事。例如將貓變成老鼠的魔咒是haha,將老鼠變成魚的魔咒是hehe等等。反方向變化的魔咒就是簡單地將原來的魔咒倒過來念,例如ahah可以將老鼠變成貓。另外,如果想把貓變成魚,可以通過念乙個直接魔咒lalala,也可以將...

7 8 哈利 波特的考試

哈利 波特要考試了,他需要你的幫助。這門課學的是用魔咒將一種動物變成另一種動物的本事。例如將貓變成老鼠的魔咒是haha,將老鼠變成魚的魔咒是hehe等等。反方向變化的魔咒就是簡單地將原來的魔咒倒過來念,例如ahah可以將老鼠變成貓。另外,如果想把貓變成魚,可以通過念乙個直接魔咒lalala,也可以將...