本文介绍: 今天给大家复习一下前几天初步入门的图论算法,关于图的遍历确实有一定难度,需要通盘的考虑和理解,以及扎实的数据结构基础才能独立写出AC代码。不管什么都要坚持吧,三天打鱼两天晒网无法形成肌肉记忆和做题思维,该思考的时候一定不要懈怠,今天就说这么多啦,欢迎评论留言,一起成长:)如果有非计算机专业的uu自学的话,关于数据结构的网课推荐看b站上青岛大学王卓老师的课,讲的很细致,有不懂都可以私信我喔。关于之前蓝桥杯备赛的路线和基本方法、要掌握的知识,之前的博文我都有写,欢迎大家关注我,翻阅自取哦~

蓝桥杯备赛 | 洛谷做题打卡day10

图的遍历

题目描述

给出

N

N

N 个点,

M

M

M 条边的有向图,对于每个点

v

v

v,求

A

(

v

)

A(v)

A(v) 表示从点

v

v

v 出发,能到达的编号最大的点。

输入格式

1

1

1

2

2

2 个整数

N

,

M

N,M

N,M,表示点数和边数。

接下来

M

M

M 行,每行

2

2

2 个整数

U

i

,

V

i

U_i,V_i

Ui,Vi,表示边

(

U

i

,

V

i

)

(U_i,V_i)

(Ui,Vi)。点用

1

,

2

,

,

N

1,2,dots,N

1,2,,N 编号。

输出格式

一行

N

N

N 个整数

A

(

1

)

,

A

(

2

)

,

,

A

(

N

)

A(1),A(2),dots,A(N)

A(1),A(2),,A(N)

样例 #1

样例输入 #1

4 3
1 2
2 4
4 3

样例输出 #1

4 4 3 4

提示

  • 对于

    60

    %

    60%

    60% 的数据,

    1

    N

    ,

    M

    1

    0

    3

    1 leq N,M leq 10^3

    1N,M103

  • 对于

    100

    %

    100%

    100% 的数据,

    1

    N

    ,

    M

    1

    0

    5

    1 leq N,M leq 10^5

    1N,M105

题解代码

学会利用新知,自己多试试并尝试积攒一些固定解答方案,debug,以下是题解代码 ~

#include <iostream>
#include <cstdio>
#include <vector>
using namespace std;

#define MAXL 100010

int N, M, A[MAXL];
vector<int> G[MAXL]; //vector存图 

void dfs(int x, int d) {
	if(A[x]) return; //访问过 
	A[x] = d;
	for(int i=0; i<G[x].size(); i++)
		dfs(G[x][i], d);
}

int main() {
	int u, v;
	scanf("%d%d", &N, &M);
	for(int i=1; i<=M; i++) {
		scanf("%d%d", &u, &v);
		G[v].push_back(u); //反向建边 
	}
	for(int i=N; i; i--) dfs(i, i); 
	for(int i=1; i<=N; i++) printf("%d ", A[i]);
	printf("n");
	return 0;
}

我的一些话

  • 今天给大家复习一下前几天初步入门的图论算法,关于图的遍历确实有一定难度,需要通盘的考虑和理解,以及扎实的数据结构基础才能独立写出AC代码。但无论难易,大家都要持续做题,保持题感喔!一起坚持(o´ω`o)

  • 如果有非计算机专业的uu自学的话,关于数据结构的网课推荐看b站上青岛大学王卓老师的课,讲的很细致,有不懂都可以私信我喔

  • 总结来说思路很重要,多想想,多在草稿纸上画画,用测试数据多调试,debug后成功编译并运行出正确结果真的会感到很幸福!

  • 关于之前蓝桥杯备赛的路线和基本方法、要掌握的知识,之前的博文我都有写,欢迎大家关注我,翻阅自取哦~

  • 不管什么都要坚持吧,三天打鱼两天晒网无法形成肌肉记忆和做题思维,该思考的时候一定不要懈怠,今天就说这么多啦,欢迎评论留言,一起成长:)

原文地址:https://blog.csdn.net/m0_73246124/article/details/135675441

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。

如若转载,请注明出处:http://www.7code.cn/show_59348.html

如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱:suwngjj01@126.com进行投诉反馈,一经查实,立即删除!

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注