最短路径代码
#include <iostream>
#include <vector>
#include <stack>
#define INF 100000
#define MAX_NUM_OF_NODE 1000
using namespace std;
typedef struct Info
{
int to_station;
int to_distance;
};
typedef struct Graph
{
int node;
int edge;
vector<Info> map[MAX_NUM_OF_NODE];
};
void _print(stack<int> array)
{
while(array.empty() == false){
cout << array.top() << " ";
array.pop();
}
cout << endl;
}
class Dijkstra
{
private:
Graph graph;
int visited[MAX_NUM_OF_NODE];
int distance[MAX_NUM_OF_NODE];
vector<int> pre[MAX_NUM_OF_NODE];
public:
Dijkstra(Graph);
int find();
void init();
void update(int);
void set(int);
void fit(int);
void dfs(int, int, stack<int