ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

复试机试第二天

2021-03-17 20:33:47  阅读:135  来源: 互联网

标签:point int 复试 vis 第二天 MAXN 机试 INF dis


  1. Dijkstra算法
  2. #define INF 1000000
    using namespace std;
    const int MAXN = 505;
    int N;
    int grapth[MAXN][MAXN];
    int dis[MAXN];
    bool vis[MAXN];
    int res;
    void Dijkstra(int start_point) {
        fill(dis, dis + N + 1, INF);
        memset(vis, 0, sizeof(vis));
    
        dis[start_point] = 0;
        for (int i = 0; i < N; i++) {//循环N次
            int u = -1;
            int min_dis = INF;
            for (int j = 1; j <= N; j++) {
                if (vis[j] == false && min_dis > dis[j]) {
                    u = j;
                    min_dis = dis[j];
                }
            }
                if (u == -1) return;
                vis[u] = true;
                for (int k = 1; k <= N; k++) {
                    if (vis[k] == false&& grapth[u][k]!=INF && dis[u] + grapth[u][k] < dis[k]) {    
                        dis[k] = dis[u] + grapth[u][k];
                    }
                }
            }
    }

    在调试的过程中,由于括号打错,使得整个算法出现莫名其妙的结果非常遗憾的浪费了大量的时间,哎pat只得2分,不知道机试能得几分。

标签:point,int,复试,vis,第二天,MAXN,机试,INF,dis
来源: https://www.cnblogs.com/lixiangfu/p/14551746.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有