本蒟蒻又来做题啦!
看看今天做啥题。。。。
题目描述
时间:1s 空间:256M
题目描述:
给出一个无向图和一个起点s,输出这个图从s结点开始的DFS遍历序列。
规定:节点邻居按照输入的顺序遍历
输入格式:
共M+1行。
第11行包含33个正整数N,M,s,表示有N个点,M条边,起点为s。
第2~M+1行包含2个用空格隔开的正整数u,v,表示一条从u到v的无向路径。保证没有重边和自环。
输出格式:
输出一个序列。
样例输入:
5 5 1 1 2 1 3 3 4 4 5 5 1
样例输出:
1 2 3 4 5
约定:
1≤N,M≤10’5
这咋做?!
好难啊
2000 years later。。。
完成代码!
#include <bits/stdc++.h>
using namespace std;
int main() {
int n, m;
cin >> n >> m;
vector<vector<int>> edge(n + 1);
vector<int> d(n + 1, 0);
for (int i = 0; i < m; ++i) {
int a, b;
cin >> a >> b;
edge[a].push_back(a);
edge[b].push_back(b);
}
for (int i = 1; i <= n; ++i) {
d[i] = edge[i].size();
}
for (int i = 1; i <= n; ++i) {
cout << d[i] << " ";
cout << endl;
}
return 0;
}
hhh
标签:输出,遍历,int,题解,back,dfs,edge,push From: https://blog.csdn.net/zhenglaiyun/article/details/139209970