亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

旅行商(TSP)->(拓撲排序)

2019-11-10 17:13:57
字體:
來源:轉載
供稿:網友

旅行商(TSP)


Description

Shrek is a postman working in the mountain, whose routine work is sending mail to n villages. Unfortunately, road between villages is out of repair for long time, such that some road is one-way road. There are even some villages that can’t be reached from any other village. In such a case, we only hope as many villages can receive mails as possible.

Shrek hopes to choose a village A as starting point (He will be air-dropped to this location), then pass by as many villages as possible. Finally, Shrek will arrived at village B. In the travelling PRocess, each villages is only passed by once. You should help Shrek to design the travel route.

Input

There are 2 integers, n and m, in first line. Stand for number of village and number of road respectively.

In the following m line, m road is given by identity of villages on two terminals. From v1 to v2. The identity of village is in range [1, n].

Output

Output maximum number of villages Shrek can pass by.

Example

Input

4 31 42 44 3

Output

3

Restrictions

1 <= n <= 1,000,000

0 <= m <= 1,000,000

These is no loop road in the input.

Time: 2 sec

Memory: 256 MB

Hints

Topological sorting

描述

Shrek是一個大山里的郵遞員,每天負責給所在地區的n個村莊派發信件。但杯具的是,由于道路狹窄,年久失修,村莊間的道路都只能單向通過,甚至有些村莊無法從任意一個村莊到達。這樣我們只能希望盡可能多的村莊可以收到投遞的信件。

Shrek希望知道如何選定一個村莊A作為起點(我們將他空投到該村莊),依次經過盡可能多的村莊,路途中的每個村莊都經過僅一次,最終到達終點村莊B,完成整個送信過程。這個任務交給你來完成。

輸入

第一行包括兩個整數n,m,分別表示村莊的個數以及可以通行的道路的數目。

以下共m行,每行用兩個整數v1和v2表示一條道路,兩個整數分別為道路連接的村莊號,道路的方向為從v1至v2,n個村莊編號為[1, n]。

輸出

輸出一個數字,表示符合條件的最長道路經過的村莊數。

樣例

見英文題面

限制

1 ≤ n ≤ 1,000,000

0 ≤ m ≤ 1,000,000

輸入保證道路之間沒有形成環

時間:2 sec

空間:256 MB

提示

拓撲排序

本來做這題是毫無思路的,后來看到了題下的提示說要用拓撲排序

然后思路就清晰了許多,寫完debug了半天才想起來這OJ無法使用

C++容器,于是乖乖查了題解。

具體算法仍是拓撲排序的傳統做法:

找到入度為0的點作為起點,依次處理后繼,

唯一的不同是需要保存到達該城市的當前最大值。

然后更新答案即可

#include<stdio.h>using namespace std;#define maxn 1000005int MAX(int a,int b){	if(a<b)		return b;	return a;}int n,m,cnt,q[maxn],degree[maxn];//q為拓撲數組---cnt為其長度//degree為各點入度//n,m分別為點數和邊數int ans=1;//保存答案struct node{	int num;//村莊編號	node *next;	node()	{		next=NULL;	}	node(int x,node *n) :num(x),next(n){}};//該OJ無法使用C++容器,因此//只能現學自認為重定義(看了題解)struct city{	node *nc;//next-city	int dp;//至此所通過的最大城市數	city(){nc=NULL;dp=1;}	void insert(int nc);}a[maxn];void city::insert(int nc){	degree[nc]++;	if(this->nc==NULL)		this->nc=new node(nc,NULL);	else	{		node *nodes=new node(nc,this->nc);		this->nc=nodes;	}	return;}void Topology(){	for(int i=1;i<=n;i++)		if(!degree[i])			q[++cnt]=i;	for(int i=1;q[i];i++)	{		int res=q[i];		for(node *tmp=a[res].nc;tmp!=NULL;tmp=tmp->next)		{			a[tmp->num].dp=MAX(a[res].dp+1,a[tmp->num].dp);			ans=MAX(ans,a[tmp->num].dp);			//處理后繼			int x=tmp->num;			degree[x]--;			if(!degree[x])				q[++cnt]=x;		}	}}int  main(){	scanf("%d%d",&n,&m);	for(int i=0;i<m;i++)	{		int x,y;		scanf("%d%d",&x,&y);		a[x].insert(y);	}	Topology();	printf("%d/n",ans);}


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产视频精品自拍| 国产一区二区在线免费视频| 亚洲国产精品专区久久| 国产精品亚洲欧美导航| 亚洲国产成人久久综合一区| 5278欧美一区二区三区| 亚洲成人性视频| 久久久www成人免费精品张筱雨| 久久久久久国产精品美女| 欧美激情亚洲一区| 欧美日韩第一视频| 国产成人精品视频| 国产一区二区三区在线播放免费观看| 欧美日韩一区二区精品| 中文字幕亚洲在线| 国产69久久精品成人| 精品爽片免费看久久| 色综合久综合久久综合久鬼88| 国产一区二区三区高清在线观看| 一区二区三区在线播放欧美| 欧美黄网免费在线观看| 亚洲社区在线观看| 成人写真视频福利网| 91九色在线视频| 一区二区三区视频免费在线观看| 国产精品白丝jk喷水视频一区| 国内精久久久久久久久久人| 欧美日韩福利在线观看| 精品人伦一区二区三区蜜桃免费| 日韩中文字幕国产| 国产色视频一区| 菠萝蜜影院一区二区免费| 国产精品大片wwwwww| 日韩免费在线观看视频| 国产精品视频久久久| 爽爽爽爽爽爽爽成人免费观看| 欧美日韩日本国产| 欧美性高跟鞋xxxxhd| 精品一区二区三区电影| 国产亚洲欧洲高清一区| 国产精品中文久久久久久久| 琪琪第一精品导航| 38少妇精品导航| 国产成人精品午夜| 精品视频一区在线视频| 欧美一区二区三区精品电影| 福利二区91精品bt7086| 亚洲全黄一级网站| 色播久久人人爽人人爽人人片视av| 97人洗澡人人免费公开视频碰碰碰| 992tv成人免费视频| 日韩成人在线免费观看| 国产精品劲爆视频| 欧美成人免费va影院高清| 日本精品在线视频| 欧美日韩精品在线观看| 国产欧亚日韩视频| 亚洲欧美日本伦理| 日韩欧美主播在线| 国产啪精品视频| 欧美日韩免费区域视频在线观看| 欧美中文在线观看| 欧美美女18p| 国产精品一区二区久久| 91精品国产91久久久久福利| 日韩久久精品成人| 成人国产精品日本在线| 久久精品男人天堂| 精品欧美一区二区三区| 国产精品精品一区二区三区午夜版| 成人精品视频久久久久| 国产精品久久久久免费a∨| 日韩欧美在线第一页| 国产综合香蕉五月婷在线| 久久久亚洲精品视频| www.国产一区| 欧美日韩国产精品专区| 日本久久久久久久| 97热在线精品视频在线观看| 成人av.网址在线网站| 亚洲一区二区免费| 亚洲欧美一区二区激情| 456亚洲影院| 国产亚洲激情在线| 日韩av影片在线观看| 国产精品视频内| 日韩欧美在线视频| 国产亚洲欧美视频| 68精品久久久久久欧美| 另类色图亚洲色图| 97香蕉超级碰碰久久免费的优势| 亚洲va电影大全| 成人国产精品色哟哟| 亚洲精品成a人在线观看| 亚洲精品98久久久久久中文字幕| 日产日韩在线亚洲欧美| 精品久久久国产| 亚洲成人黄色网址| 91久久精品国产91久久性色| 亚洲a在线观看| 日韩av影院在线观看| 久久国产精品影片| 色妞色视频一区二区三区四区| 欧美极品少妇xxxxⅹ免费视频| 久久这里只有精品99| 欧美国产激情18| 国产精品偷伦免费视频观看的| 久久久国产成人精品| 一本色道久久88综合日韩精品| 国产大片精品免费永久看nba| 成人国产精品日本在线| 日韩视频在线观看免费| 久久久亚洲欧洲日产国码aⅴ| 亚洲国产精品女人久久久| 日韩中文字幕网| 欧美激情一区二区三区高清视频| 欧美激情亚洲激情| 亚洲成人亚洲激情| 亚洲一级一级97网| 26uuu久久噜噜噜噜| 97视频在线看| 成人黄色片网站| 亚洲精品成人免费| 久久精品夜夜夜夜夜久久| 久久久免费精品| 国产日韩欧美日韩大片| 欧美精品手机在线| 97涩涩爰在线观看亚洲| 国产亚洲激情视频在线| xxav国产精品美女主播| 欧美一区二区视频97| 亚洲欧美日韩中文在线制服| 国产精品久久久久av免费| 国产69精品久久久久久| 国产精品一区二区三区成人| 亚洲一区二区三区视频播放| 欧美美女操人视频| 亚洲成人av在线播放| 57pao成人国产永久免费| 亚洲视频免费一区| 欧美激情xxxxx| 亚洲乱码国产乱码精品精天堂| 国产精品网站大全| 国内精品久久久久久影视8| 国产午夜精品一区理论片飘花| 日韩视频免费大全中文字幕| 69国产精品成人在线播放| 欧美最顶级的aⅴ艳星| 亚洲欧美制服丝袜| 欧美日韩精品二区| 久久久亚洲精选| 欧美日韩中文在线观看| 国产精品成人免费视频| 亚洲美女久久久| 精品精品国产国产自在线| 中文字幕免费精品一区| 欧日韩不卡在线视频| 国产精品爽爽ⅴa在线观看| 亚洲另类欧美自拍| 亚洲精品国精品久久99热一| 日韩欧美在线视频观看| 欧美激情久久久久久| 欧美精品videossex88| 日韩中文字幕av|