日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

sdut 2140 有向图中是否存在拓扑序列的判断

發布時間:2025/4/16 编程问答 14 豆豆
生活随笔 收集整理的這篇文章主要介紹了 sdut 2140 有向图中是否存在拓扑序列的判断 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Problem Description

?給定一個有向圖,判斷該有向圖是否存在一個合法的拓撲序列。

講解:http://blog.csdn.net/dm_vincent/article/details/7714519

? ? ? ? ??http://baike.sogou.com/v1486429.htm?fromTitle=拓撲排序#title

?http://www.cnblogs.com/Braveliu/archive/2013/12/05/3460232.html#top

Input

?輸入包含多組,每組格式如下。

第一行包含兩個整數n,m,分別代表該有向圖的頂點數和邊數。(n<=10)

后面m行每行兩個整數a b,表示從a到b有一條有向邊。

?

Output

?若給定有向圖存在合法拓撲序列,則輸出YES;否則輸出NO。

?

Example Input

1 0 2 2 1 2 2 1

Example Output

YES NO

#include <bits/stdc++.h> using namespace std; int edge[15][15],indegree[15]; int n,m; int topo() {int ans=0;for(int t=0;t<n;++t)//網上出現的這個循環的意義很奇妙,思考不出來的話就把這個循環去掉,看看程序走的時候會發生什么結果(也可以寫成下面的方式){for(int i=1;i<=n;++i){if(!indegree[i]){indegree[i]=-1;ans++;for(int j=1;j<=n;++j){if(edge[i][j])indegree[j]--;}break;}}}return ans; } int main() {int a,b;while(cin>>n>>m){memset(edge,0,sizeof(edge));memset(indegree,0,sizeof(indegree));for(int i=0;i<m;++i){cin>>a>>b;edge[a][b]=1;indegree[b]++;}if(topo()==n)cout<<"YES"<<endl;elsecout<<"NO"<<endl;} }int topo() {int ans=0;//能夠構成拓撲序列的頂點數for(int i=1;i<=n;i++){if(!indegree[i])//尋找入度為0的頂點{g.indegree[i]=-1;//刪除該點ans++;for(int j=1;j<=n;j++){if(g.ma[i][j]==1)//刪除該頂點的所有出邊{g.indegree[j]--;}}}}return ans; }還有一種基于DFS的方法(好吧,暫時沒有領悟到)#include<cstdio> #include<cstring> #include<iostream> #include<cstdlib> using namespace std; int vis[11]; int m,n,u,v; int map[11][11]; int dfs(int u) {vis[u]=-1;//正在訪問for(v=1; v<=m; v++){if(map[u][v]){if(vis[v]<0)return 0;//去掉自環else if(!vis[v]&&!dfs(v))//v元素還沒有被訪問而且v的后繼元素和前面的正在訪問的元素構成了回路(構成的回路不是自回路的情況)。return 0;}}vis[u]=1;return 1;} int toposort() {for(u=1; u<=m; u++){if(!vis[u]){if(!dfs(u))return 0;}}return 1;} int main() {while(~scanf("%d %d",&m,&n)&&(m+n!=0)){memset(vis,0,sizeof(vis));memset(map,0,sizeof(map));for(int i=0; i<=n-1; i++){scanf("%d %d",&u,&v);map[u][v]=1;}if(toposort())cout<<"YES"<<endl;else cout<<"NO"<<endl;}return 0; }

總結

以上是生活随笔為你收集整理的sdut 2140 有向图中是否存在拓扑序列的判断的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 在线看免费 | 欧洲自拍偷拍 | 色综网| xx99小雪| 动漫精品一区一码二码三码四码 | 国产真实交换夫妇视频 | 黄色一级在线视频 | 91麻豆国产在线观看 | 99精品视频免费观看 | 成年人av在线 | 手机在线永久免费观看av片 | 日韩视频免费观看高清完整版在线观看 | 99热在线这里只有精品 | 深夜福利电影 | 国产激情在线看 | 欧美日韩图片 | 激情视频在线播放 | 91视频网址 | 色哟哟精品一区 | 婷婷伊人 | 大尺度做爰无遮挡露器官 | 久久久亚洲一区二区三区 | 中文字幕一区二区三区不卡 | 欧洲亚洲天堂 | av在线首页 | 午夜18视频在线观看 | 五月婷婷综合在线 | 午夜激情啪啪 | 亚洲午夜不卡 | www.亚色 | 超碰成人在线观看 | 欧美少妇精品 | 超薄肉色丝袜一区二区 | 国产色片 | 高h大肚孕期孕妇play | 久久乐国产精品 | 青青视频免费在线观看 | 日韩视频一区二区 | 极品粉嫩国产18尤物 | 欧美mv日韩mv国产网站 | 国产aⅴ精品一区二区果冻 台湾性生生活1 | 中国美女洗澡免费看网站 | 日本精品三区 | 91免费播放 | 三级av片 | 在线能看的av网站 | 一区久久| 国产精品高潮呻吟视频 | 日日干日日摸 | 91学生片黄 | av免费大片 | 在线观看你懂的网站 | 男女做爰猛烈高潮描写 | 52av在线| 少妇特黄a一区二区三区 | 日本在线视频中文字幕 | 18av在线播放 | 日日干影院 | 男人添女人荫蒂国产 | 香蕉视频官网在线观看 | 极品国产91在线网站 | 日韩精品xxxx | 国产在线视频在线观看 | 精品人妻伦一二三区免费 | 久久久精品一区二区涩爱 | 久久艹免费视频 | 97超碰免费在线观看 | 亚洲喷水 | 欧美成人a∨高清免费观看 国产精品999视频 | 亚洲视频手机在线观看 | 在线免费观看成年人视频 | 亚洲AV无码AV吞精久久中文版 | 欧美一区二区三区四区五区 | 亚洲天堂成人网 | 亚洲成人一区二区在线观看 | 在线观看1区 | 91麻豆映画传媒 | 国产三级av片 | 国产精品自拍区 | 五月婷丁香 | 男女激情网站 | 91免费在线视频观看 | 黄a大片 | bangbros性欧美18 | 正在播放亚洲 | 青娱乐在线免费视频 | 国产精品视频一区在线观看 | 天天干在线播放 | 久久人人爽人人爽 | 秘密基地电影免费版观看国语 | 亚洲欧美精品一区 | 曰本丰满熟妇xxxx性 | 玖玖在线观看 | 久久中文字幕高清 | 亚洲色婷婷一区二区三区 | 97超碰免费在线 | 一区二区成人av | 成人免费视频久久 | 国产亚洲一区二区不卡 |