关注
//顺丰 学术交流AC代码 #include<iostream> using namespace std; typedef char VertexType; typedef int WeightType; #define MAXVEX 200002 #define MAXEDGE 100001 #define MYINFINITY 65535 int numPeople = 0, numLang = 0, numInfo = 0; int numMachine = -1; typedef struct Node { int adjVex; struct Node* next; }EdgeNode; typedef struct { EdgeNode* firstEdge; }Vertex; typedef struct { Vertex vexList[MAXVEX]; int numVertex, numEdge; }MGraph; void CreateMGraph(MGraph* G) { G->numVertex = numPeople+numLang; for (int i = 0; i < G->numVertex; i++) { G->vexList[i].firstEdge = NULL; } G->numEdge = numInfo; for (int k = 0; k < G->numEdge; k++) { int i = 0, j = 0;; cin >> i >> j; j = j + 100000; EdgeNode* p = new(EdgeNode); p->adjVex = j; p->next = G->vexList[i].firstEdge; G->vexList[i].firstEdge = p; p = new(EdgeNode); p->adjVex = i; p->next = G->vexList[j].firstEdge; G->vexList[j].firstEdge = p; } } void DFS(MGraph& G, int i, bool* visited) //极大连通子图的深度优先遍历 { visited[i] = true; EdgeNode* p = G.vexList[i].firstEdge; while (p != NULL) { if (visited[p->adjVex] == false) DFS(G, p->adjVex, visited); p = p->next; } } void DFSTraverse(MGraph& G) //深度优先遍历 { bool visited[MAXVEX]; for (int i = 1; i <=numPeople; i++) visited[i] = false; for (int i = 1; i <=numPeople; i++) if (visited[i] == false) { DFS(G, i, visited); numMachine++; } } int main() { MGraph G; cin >> numPeople >> numLang >> numInfo; if (numInfo == 0) { cout << numPeople ; return 0; } CreateMGraph(&G); DFSTraverse(G); cout << numMachine; system("pause"); return 0; }
查看原帖
点赞 评论
相关推荐
点赞 评论 收藏
分享
12-18 10:53
南京大学 网页产品经理 点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 牛客2025仙途报告 #
17787次浏览 297人参与
# 实习没人带,苟住还是跑路? #
1147次浏览 38人参与
# 大家实习都在做什么? #
535次浏览 28人参与
# 我们是不是被“优绩主义”绑架了? #
3167次浏览 138人参与
# 一人说一家双休的公司 #
131次浏览 2人参与
# 元旦假期你打算怎么过 #
1684次浏览 52人参与
# 找工作,行业重要还是岗位重要? #
88010次浏览 1765人参与
# 参加过提前批的机械人,你们还参加秋招么 #
105244次浏览 1647人参与
# 多益网络工作体验 #
60017次浏览 298人参与
# 工作中的卑微时刻 #
29664次浏览 181人参与
# 今年你最想重开的一场面试是? #
15366次浏览 161人参与
# 华为工作体验 #
276892次浏览 1354人参与
# 华为池子有多大 #
154305次浏览 866人参与
# 你有哪些缓解焦虑的方法? #
44706次浏览 870人参与
# 没有家庭托举的我是怎么找工作的 #
32090次浏览 263人参与
# 实习要如何选择和准备? #
130667次浏览 1517人参与
# 礼物开箱Plog #
3647次浏览 109人参与
# 机械人晒出你的简历 #
148722次浏览 887人参与
# 秋招落幕,你是He or Be #
24204次浏览 406人参与
# 一人说一个提前实习的好处 #
26331次浏览 336人参与
查看3道真题和解析