作业介绍

#include<iostream>
#include<algorithm>
#include<vector>
#include<queue>
using namespace std;

// 邻接表存图
vector<int> g[100005];
bool vis[100005];

// dfs(x)表示从起点x开始遍历,输出能走到的节点
void dfs(int x){
	vis[x] = 1;
	cout<<x<<" ";
	// 递归边界 无
	// 遍历下一步能走到的点:g[x]
	// 遍历g[x]能走到的所有节点
	for(int i=0;i<g[x].size();i++){
		// 可行性验证: 没有走过才能走
		if(vis[g[x][i]]==0){
			dfs(g[x][i]);
		}
	}
}
// 图上广搜
void bfs(int x){
	// 起点入队,标记
	queue<int> q;
	q.push(x);
	vis[x] = 1;
	while(!q.empty()){
		// 取出队首
		int t = q.front();
		q.pop();
		cout<<t<<" ";
		// 遍历下一步能走到的节点
		for(int i=0;i<g[t].size();i++){
			// 可行性验证: 没有走过才能走
			if(vis[g[t][i]]==0){
				vis[g[t][i]] = 1;
				q.push(g[t][i]);
			}
		}
	}
}

int main(){
	// 数据输入
  
	// 对动态数组g[i]排序:节点小的优先遍历
	for(int i=1;i<=n;i++){
		sort(g[i].begin(), g[i].end());
	}
	return 0;
}

题目

认领作业后才可以查看作业内容。
状态
正在进行…
题目
5
开始时间
2025-4-20 9:00
截止时间
2025-4-30 23:59
可延期
24 小时