#pragma GCC optimize(1) #pragma GCC optimize(2) #pragma GCC optimize(3,"Ofast","inline") #include<bits/stdtr1c++.h> using namespace std; inline static const nullptr_t _={\n ios::sync_with_stdio(0); cin.tie(nullptr),cout.tie(nullptr); return nullptr; }(); int n;vector g[100005];char ch=127,ch2=0; tr1::unordered_map<char,bool> vis; void dfs(char c){ cout.put(c); vis[c] = true; for(int i=0;i<g[c].size();i++){ if(!vis[g[c][i]]){ dfs(g[c][i]); } } } int main(){ cin>>n; for(int i=1;i<=n;i++){ char c1,c2; cin>>c1>>c2; ch=min(c1,c2); ch2=max(c1,c2); g[c1].emplace_back(c2); g[c2].emplace_back(c1); } for(int i=ch;i<=ch2;i++) if(!g[i].empty()) stable_sort(g[i].begin(),g[i].end()); cout.put(ch); dfs(ch); cout.put(10); return 0; }

C++ 深度优先搜索遍历图并输出节点顺序 - 优化代码示例

原文地址: https://www.cveoy.top/t/topic/pW4w 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录