国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

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

1012_暢通工程

2019-11-14 11:32:39
字體:
來源:轉載
供稿:網友
// 1012_暢通工程.cpp : 定義控制臺應用程序的入口點。//題目1012:暢通工程//時間限制:1 秒內存限制:32 兆特殊判題:否提交:8639解決:3817//題目描述://某省調查城鎮交通狀況,得到現有城鎮道路統計表,表中列出了每條道路直接連通的城鎮。省政府“暢通工程”的目標是使全省任何兩個城鎮間都可以實現交通(但不一定有直接的道路相連,只要互相間接通過道路可達即可)。問最少還需要建設多少條道路?//輸入://測試輸入包含若干測試用例。每個測試用例的第1行給出兩個正整數,分別是城鎮數目N ( < 1000 )和道路數目M;隨后的M行對應M條道路,每行給出一對正整數,分別是該條道路直接連通的兩個城鎮的編號。為簡單起見,城鎮從1到N編號。 //注意:兩個城市之間可以有多條道路相通,也就是說// 3 3// 1 2// 1 2// 2 1// 這種輸入也是合法的// 當N為0時,輸入結束,該用例不被處理。// 輸出:// 對每個測試用例,在1行里輸出最少還需要建設的道路數目。// 樣例輸入:// 4 2// 1 3// 4 3// 3 3// 1 2// 1 3// 2 3// 5 2// 1 2// 3 5// 999 0// 0// 樣例輸出:// 1// 0// 2// 998// 來源:// 2005年浙江大學計算機及軟件工程研究生機試真題#include "stdafx.h"#include "iostream"#include "stdio.h"#include "string.h"using namespace std;#define MAX 1000int a[MAX][MAX];int visit[MAX];int N,M;void DFS(int i,int j,int visit[MAX]){ if(i<=N && j<=N){ if(a[i][j] == 1){ visit[i] = 1; if(visit[j]!=1) DFS(j,1,visit); } DFS(i,j+1,visit); }}int main(){ while(cin>>N&& N){ cin>>M; memset(a,0,sizeof(a)); memset(visit,0,sizeof(visit)); for(int i = 1;i<=M;i++){ int x,y; cin>>x>>y; a[x][y] = a[y][x] = 1; } int cnt = 0; for(int i = 1;i<=N;i++){ if(!visit[i]){ DFS(i,1,visit); //一次遍歷經過的所有點構成一個連通分量 cnt++; //連通分量的個數 } } cout<<cnt-1<<endl; } return 0;}
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 云梦县| 屏边| 澄城县| 宁乡县| 陇川县| 新蔡县| 武宣县| 庆城县| 大宁县| 卢氏县| 平谷区| 宜兰县| 广水市| 太康县| 和林格尔县| 长海县| 宾川县| 建德市| 白水县| 封丘县| 北票市| 高要市| 习水县| 彝良县| 中宁县| 大城县| 宁安市| 扎赉特旗| 奉节县| 安义县| 巢湖市| 镇赉县| 军事| 富平县| 东丰县| 荥经县| 志丹县| 绵阳市| 桑日县| 林周县| 隆子县|