吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 2902|回复: 4
收起左侧

[C&C++ 转载] 图论 邻接链表

[复制链接]
KaQqi 发表于 2019-6-18 18:00
[C++] 纯文本查看 复制代码
#include <stdio.h>
#include <cstring>
const int N = 200020;
int n,m,position;
int is_gone[N];
int q[N];

struct obj
{
        int end;
        int worth;
        int next;
};

obj data[N];
int h[N];//第一个点的下标 

void add(int began,int end,int worth)
{
        data[position].end = end;
        data[position].worth = worth;
        data[position].next = h[began];
        h[began] = position++;
}

void dfs(int began_point)
{
        is_gone[began_point] = true;
        printf("%d\n",began_point);
        for(int i = h[began_point];i!= -1;i=data[i].next)
        {
                if(!is_gone[data[i].end])
                {
                        dfs(data[i].end);
                }
        }
}

void bfs()
{
        int hh,tt = 0;
        q[0] = 1;
        is_gone[1] = true;
        
        while(hh <= tt)
        {
                int t = q[hh++];
                printf("%d\n",t);
                for(int i = h[t];i!= -1;i = data[i].next)
                {
                        int j = data[i].end;
                        if(!is_gone[j])
                        {
                                is_gone[j] = true;
                                q[ ++ tt] = j;
                        }
                }
        }
}

int main()
{
        memset(h,-1,sizeof(h));
        scanf("%d %d",&n,&m);
        for(int i = 0;i<m;i++)
        {
                int began,end,worth;
                scanf("%d %d %d",&began,&end,&worth);
                add(began,end,worth);
        }
        bfs();
//        for(int i = 1;i<=n;i++)
//        {
//                printf("h[%d]:",i);
//                for(int j = h[i];j != -1;j = data[j].next)
//                {
//                        printf("-> (%d,%d)",data[j].end,data[j].worth);
//                }
//                printf("\n");
//        }
        return 0;
}



还是链表看的爽哇

附一组测试数据
[C++] 纯文本查看 复制代码
5 9
1 1 1
1 2 2
1 1 3
2 3 4
2 4 5
3 2 6
3 5 7
4 5 8
5 3 9

免费评分

参与人数 2吾爱币 +4 热心值 +2 收起 理由
苏紫方璇 + 3 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
xxxlsy + 1 + 1 热心回复!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

L浪子 发表于 2019-6-18 18:07
不敢说完全看不懂, 不过还是不懂!
cyhcuichao 发表于 2019-6-18 18:14
phubing 发表于 2019-6-19 09:22
狐尼克 发表于 2019-9-5 22:11
你头像 军衔下面的字 是认真的吗?
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-16 13:34

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表