文章

25

粉丝

0

获赞

208

访问

4.9k

头像
I Wanna Go Home 题解:
P1224 北京大学机考题
发布于2026年3月14日 11:46
阅读数 66

#include<bits/stdc++.h>
using namespace std;

const int INF = 0x3f3f3f3f;
const int N = 605;
int dist1[N];
int dist2[N];
bool done[N];
int camp[N];
int n,m;

struct Edge{
    int from;
    int to;
    int weight;
}allEdges[10005];

vector<Edge> graph1[N];
vector<Edge> graph2[N];
vector<Edge> crossEdge;

struct s_node{
    int id;
    int n_dis;

    bool operator <(const s_node &a) const{
        return n_dis > a.n_dis;
    }
};

void dijkstra(int st,int dist[],vector<Edge> e[]){
    for(int i = 1; i <= n; i++){
        dist[i] = INF;
        done[i] = false;
    }
    dist[st] = 0;

    priority_queue<s_node> q;
    q.push({st,dist[st]});

    while(!q.empty()){
        s_node now = q.top();
        q.pop();

        if(done[now.id]) continue;
        done[now.id] = true;

        for(int i = 0; i < e[now.id].size(); i++){
            Edge next = e[now.id][i];

            if(don...
登录查看完整内容


登录后发布评论

暂无评论,来抢沙发