電話圈(floyd)

題意:

如果兩個人相互打電話,則說他們在同一個電話圈里。例如,a打給b,b打給c,c打給d,d打給a,則這4個人在同一個圈里;如果e打給f但f不打給e,則不能推出e和f在同一個電話圈里,輸出所有電話圈。

//floyd求傳遞閉包,dfs求出電話圈;

//還有循環一定從0開始啊,標記人也要 第0個,第1個,第2個。。。。。因為動態數組你一壓進去就是從0開始

//所以你之前做才一直錯啊 ?從0開始

 1 #include<iostream>
 2 #include<cstdio>
 3 #include<cstdlib>
 4 #include<cstring>
 5 #include<vector>
 6 #include<map>
 7 using namespace std;
 8 string s1,s2;//姓名 
 9 int n,m;
10 vector<string>name;//動態數組名字 
11 map<string,int>ID;//把人給編號 
12 int vis[30];//是否訪問 
13 int d[30][30];//是否能通電話 
14 void dfs(int k)//深搜求電話圈 
15 {
16     vis[k]=1;
17     for(int i=0;i<n;i++)
18     {
19         if(!vis[i]&&d[i][k]&&d[k][i])
20         {
21             cout<<name[i]<<" ";
22             dfs(i);
23         }
24     }
25 }
26 int main()
27 {
28     while(scanf("%d%d",&n,&m)!=EOF)//n個人m個電話圈 
29     {
30         memset(vis,0,sizeof(vis));
31         memset(d,0,sizeof(d));
32         int cnt=0;
33         name.clear();
34         ID.clear();
35         for(int i=1;i<=m;i++)
36         {
37             cin>>s1>>s2;
38             if(!ID.count(s1))//這個人沒有 
39             {
40                 ID[s1]=cnt++;//給這個人編號 
41                 name.push_back(s1);//進入隊列 
42             }
43             if(!ID.count(s2))
44             {
45                 ID[s2]=cnt++;
46                 name.push_back(s2);
47             }
48             int x=ID[s1];
49             int y=ID[s2];
50             d[x][y]=1;//這兩個人可以互相通電話 
51         }
52         for(int k=0;k<n;k++)//floyd 
53         for(int i=0;i<n;i++)
54         for(int j=0;j<n;j++)
55         d[i][j]=d[i][j]||d[i][k]&&d[k][j];
56         for(int i=0;i<n;i++)//求電話圈 
57         {
58             if(!vis[i])
59             {
60                 cout<<name[i]<<" ";
61                 dfs(i);
62                 printf("\n");//在這里有個回車。。不然沒形成一個電話圈時,它會輸出一個電話圈 
63             }
64          }
65     }
66 }
View Code

//學到的floyd判圈,dfs求圈

轉載于:https://www.cnblogs.com/zzyh/p/6680825.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/372464.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/372464.shtml
英文地址,請注明出處:http://en.pswp.cn/news/372464.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

計算機二級網址打不開,大神為你解決win7系統打不開二級網頁鏈接的操作教程...

許多win7系統電腦的時候,常常會遇到win7系統打不開二級網頁鏈接的情況&#xff0c;比如近日有用戶到本站反映說win7系統打不開二級網頁鏈接的問題&#xff0c;但是卻不知道要怎么解決win7系統打不開二級網頁鏈接&#xff0c;我們依照首先我們打開IE瀏覽器&#xff0c;然后點擊上…

3步實現Jetty和Eclipse集成

本教程將引導您逐步了解如何集成Jetty和Eclipse&#xff0c;以及如何在Eclipse中的Jetty服務器上運行Web應用程序。 腳步&#xff1a; 安裝Jetty Eclipse插件 建立網路應用程式 運行網絡應用 1 –安裝Jetty Eclipse插件 將服務器添加到“服務器”視圖時&#xff0c;將不會…

【Linux開發】如何更改linux文件的擁有者及用戶組(chown和chgrp)

本文整理自&#xff1a; http://blog.163.com/yanenshun126/blog/static/128388169201203011157308/http://ydlmlh.iteye.com/blog/1435157一、基本知識在Linux中&#xff0c;創建一個文件時&#xff0c;該文件的擁有者都是創建該文件的用戶。該文件用戶可以修改該文件的擁有者…

使用Akka處理1000萬條消息

Akka演員承諾并發。 有什么更好的模擬方式&#xff0c;看看使用商品硬件和軟件處理1000萬條消息需要花費多少時間&#xff0c;而無需進行任何低級調整。我用Java編寫了整個1000萬條消息的處理過程&#xff0c;整個結果令我驚訝。 當我在具有Intel i5 – 4核&#xff0c;4 Gb RA…

PHP中unset,array_splice刪除數組中元素的區別

php中刪除數組元素是非常的簡單的&#xff0c;但有時刪除數組需要對索引進行一些排序要求我們會使用到相關的函數&#xff0c;這里我們來介紹使用unset,array_splice刪除數組中的元素區別吧 如果要在某個數組中刪除一個元素&#xff0c;可以直接用的unset&#xff0c;但是數組的…

dart服務器開發性能,DartVM服務器開發(第四天)--代碼優化

優化請求上一篇文章中&#xff0c;我們通過依賴第三方http_server這個包實現將html頁面返回給瀏覽器&#xff0c;但是一般的服務器都包含請求html&#xff0c;json格式的傳遞&#xff0c;這樣就有可能造成了混亂&#xff0c;下面我們使用http_server這個包進行優化吧&#xff0…

JBox2D和JavaFX:事件與力量

在昨天的示例中&#xff0c;您看到了如何創建一個簡單的世界并使用WorldView進行顯示&#xff0c;以及如何提供自定義渲染器。 現在&#xff0c;我們將添加一些用戶輸入。 我們將創建一個類似于彈球機中的鰭狀肢的控件。 為此&#xff0c;我們將創建一個關節。 在JBox2D中&…

【Android】SVG和VectorDrawable——相關格式轉換

SVG是矢量圖&#xff0c;剛接觸尚不能仔細介紹&#xff0c;但只需記得一點&#xff1a;放大不失真&#xff0c;存儲也方便。 因為多數戶型圖使用SVG格式&#xff0c;Android要用的話必須通過相關轉換工具&#xff0c;將原SVG格式文件&#xff0c;轉換為XML后綴的VectorDrawable…

服務器時間維護制度,網絡設備及服務器日常維護管理制度

第一章總則第一條&#xff1a;為保證機房設備與信息的安全&#xff0c;保障本校服務器及網絡系統在良好、穩定、高效、快速的安全運行。特制定本制度。第二條&#xff1a;為確保中心機房網絡設備特別是服務器安全&#xff0c;根據崗位職責設立機房管理員&#xff0c;負責對機房…

SELinux入門簡介

操作系統有兩類訪問控制&#xff1a;自主訪問控制&#xff08;DAC&#xff09;和強制訪問控制&#xff08;MAC&#xff09;。標準Linux安全是一種DAC&#xff0c;SELinux為Linux增加了一個靈活的和可配置的的MAC。 進程啟動時所擁有的權限就是運行此進程的用戶權限&#xff0c;…

RESTEasy教程第3部分:異常處理

在開發軟件應用程序時&#xff0c;異常處理是顯而易見的要求。 如果在處理用戶請求時發生任何錯誤&#xff0c;我們應該向用戶顯示一個錯誤頁面&#xff0c;其中包含詳細的異常消息&#xff0c;錯誤代碼&#xff08;可選&#xff09;&#xff0c;更正輸入和重試的提示&#xff…

WinForm關閉窗體徹底的退出方式

//System.Environment.Exit(0); //Process.GetCurrentProcess().Kill(); //System.Threading.Thread.CurrentThread.Abort(); System.Diagnostics.Process.GetCurrentProcess().Kill();Application.Exit(); 轉載于:https://www.cnblogs.com/XuPengLB/p/5799178.html

創建css的時候選擇器有哪幾類,CSS3-CSS的選擇器共有幾類?

CSS 3對屬性選擇器的又增加了3種子字符串的匹配方式&#xff1a;E[att^"val"]匹配所有E元素中att屬性的值以“val”開始的所有元素。E[att$"val"]匹配所有E元素中att屬性的值以“val”結束的所有元素。E[att*”val”]匹配所有E元素中att屬性的值中包含字符…

在Grails 2.0中使用Servlet 3.0異步功能

上周&#xff0c;我與某人談論了Grails 2中對Servlet 3.0異步功能的新支持&#xff0c;并意識到我對可用功能并不了解。 所以我想我會嘗試一下并分享一些例子。 該文檔對這個主題有些了解&#xff0c;因此首先介紹一些背景信息。 在3.0規范中進行異步工作的主要方式是javax.ser…

接口怎么實例化?

最開始看到數據庫連接的時候忽然想到這個問題&#xff1a; Connection connull;try {Class.forName(Driver);} catch (ClassNotFoundException e) {e.printStackTrace();}try {conDriverManager.getConnection(url, user, pass);} catch (SQLException e) {e.printStackTrace()…

css中基線指的是哪一條線,如何設置基線網絡_CSS, Vertical Rhythm 教程_W3cplus

首先&#xff0c;當談到排版&#xff0c;我們先要了解基線是什么&#xff1f;維基百科是這樣定義)的&#xff1a;在排版和書法中&#xff0c;基線是以字終sit底線為基礎&#xff0c;并且向兩邊延伸的直線。好極了&#xff0c;但我為什么要忽視他呢&#xff1f;好希望你充滿激情…

libvirt里的面向對象的C語言

C語言&#xff1a;類的聲明和定義 1 // 通用父類的定義2 struct _virClass {3 virClassPtr parent;4 5 unsigned int magic;6 char *name;7 size_t objectSize;8 9 virObjectDisposeCallback dispose; 10 }; 11 typedef struct _virClass virClass; 12 typ…

使用JGroups進行ElasticMQ消息復制

ElasticMQ是一臺消息服務器&#xff0c;具有Scala&#xff0c;Java和與Amazon SQS兼容的接口。 它通過跨服務器群集復制消息來支持有保證的消息傳遞&#xff0c;并通過日志記錄實現消息持久性。 消息復制是ElasticMQ的核心功能之一。 但是&#xff0c;如果您看一下代碼&#xf…

ajax省市二級聯動硬編碼,AJAX請求接受硬編碼的JSON,但不接受軟編碼

這個AJAX請求返回&#xff06;&#xff03;39;成功&#xff06;&#xff03;39;如果PHP中的輸出被復制并粘貼了JSON&#xff0c;但是&#xff06;&#xff03;39;失敗&#xff06;&#xff03;39;如果它是由文件生成的。看看下面api.php中的評論&#xff0c;看看我的意思。$.aj…

Fiddler高級技巧 - 映射路徑到本地文件夾

適用場景&#xff1a; 你是前端開發人員&#xff0c;要開發一個小模塊&#xff0c;需要用到線上的環境&#xff08;賬號、數據、跨域等&#xff09;&#xff0c;但你又沒有權限往線上傳文件你是移動測試人員&#xff0c;需要將一組接口的返回結果替換為另一組&#xff0c;最簡單…