| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| #include <iostream> |
| #include <vector> |
| #include <string> |
| #include <queue> |
| |
| int main(){ |
| int n,m; |
| std::cin>>n>>m; |
| std::vector[std::string](std::string) vertexName(n); |
| for(int i = 0;i<n;i++){ |
| std::cin>>vertexName[i]; |
| } |
| |
| std::vector[std::vectorint<> graph(n); |
| for(int i = 0;i<m;i++){ |
| int start,end; |
| std::cin>>start>>end; |
| graph[start].push_back(end); |
| }](std::vector%3Cint) |
| |
| [ |
| std::queue<int> zeroInDegree; |
| std::vector<int> inDegree(n,0); |
| std::vector](std::vector%3Cint)[std::string](std::string) result; |
| |
| for(int i = 0;i<n;i++){ |
| for(int j : graph[i]){ |
| |
| inDegree[j]++; |
| } |
| } |
| |
| for(int i = 0;i<n;i++){ |
| if(inDegree[i] == 0){ |
| zeroInDegree.push(i); |
| } |
| } |
| while(!zeroInDegree.empty()){ |
| int u = zeroInDegree.front(); |
| zeroInDegree.pop(); |
| result.push_back(vertexName[u]); |
| for(int end : graph[u]){ |
| if(--inDegree[end]==0){ |
| zeroInDegree.push(end); |
| } |
| } |
| } |
| if(result.size()!=n){ |
| std::cout<< "该图拓扑序存在性为 0" <<std::endl; |
| std::cout<<"aaa"<<std::endl; |
| }else{ |
| std::cout<<"该图拓扑序存在性为 1"<<std::endl; |
| for(int i = 0;i<n-1;i++){ |
| std::cout<<result[i]<<' '; |
| } |
| std::cout<<result[n-1]<<std::endl; |
| } |
| return 0; |
| } |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现