TOJ 3046: 招商銀行網絡系統

3046: 招商銀行網絡系統?分享至QQ空間

Time Limit(Common/Java):1000MS/3000MS ? ? Memory Limit:65536KByte
Total Submit: 12 ? ? ? ?? ? Accepted:3

Description

雖然招商銀行的網絡安全已經做得非常完善,但是天有不測風云,招商銀行內部網絡系統的一臺服務器意外感染了一種新型病毒。為了避免更大的損失,管理員必須采取緊急措施遏制病毒的蔓延。
招商銀行內部網絡系統共有n臺服務器,這n臺服務器使用m條電纜互相連接。為了描述方便,我們給服務器編號1到n。初始時,1號服務器感染了病毒。每隔一分鐘,病毒便會從已感染病毒的服務器擴散到所有與之直接相連的服務器上。
招商銀行的網絡系統設計得非常堅固,即使要切斷電纜也非常困難。管理員只能在初始時切斷一根電纜。為了讓整個網絡系統盡可能晚地全部被病毒感染,他應該切斷哪根電纜?

Input

輸入包含多組數據。
每組數據的第一行是兩個整數n和m (2≤n≤200, 1≤m≤n*(n-1)/2),其含義如上面所描述。
接下來m行每行兩個整數a, b (1≤a, b≤n),表示服務器a和服務器b有電纜直接連接。任意兩臺服務器間至多有一根電纜相連。
輸入數據以n=m=0結束。

Output

對每組數據輸出最晚多少分鐘之后整個網絡系統被感染。如果切斷某根電纜后病毒永遠不會傳播到某些服務器,那么輸出”Great”。

Sample Input

4 5
1 2
2 3
3 4
4 1
1 3
4 4
1 2
2 3
3 4
1 3
0 0

Sample Output

2
Great

可以想到其實就是到1的最短路

可以想到m*m的,但是肯定會超時的啊。不過影響bfs其實就是bfs樹上的路徑,去枚舉這些路徑就是n*m的復雜度了

#include <bits/stdc++.h>
using namespace std;
#define fi first
#define se second
const int N=205;
vector<int>G[N];
vector<pair<int,int>>E;
int vis[N],n,cnt,ans;
void bfs(int s,int t)
{memset(vis,0,sizeof vis),cnt=0;queue<pair<int,int>>Q;Q.push({1,0}),vis[1]=1;while(!Q.empty()){pair<int,int> x=Q.front();Q.pop(),ans=max(ans,x.se),cnt++;for(auto X:G[x.fi])if(!vis[X]&&(!(X==s&&x.fi==t||X==t&&x.fi==s)))Q.push({X,x.se+1}),vis[X]=1;}
}
void la()
{for(int i=0; i<n-1; i++){bfs(E[i].fi,E[i].se);if(cnt<n){cout<<"Great\n";return;}}cout<<ans<<"\n";
}
int main()
{int m,x;while(cin>>n>>m,n||m){ans=0,E.clear(),memset(vis,0,sizeof vis);for(int i=0,u,v; i<m; i++)cin>>u>>v,G[u].push_back(v),G[v].push_back(u);queue<int>Q;Q.push(1),vis[1]=1;while(!Q.empty()){x=Q.front(),Q.pop();for(auto X:G[x])if(!vis[X])Q.push(X),E.push_back({x,X}),vis[X]=1;}la();for(int i=1; i<=n; i++)G[i].clear();}
}

?

?

轉載于:https://www.cnblogs.com/BobHuang/p/10590853.html

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

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

相關文章

vue打包成app后,背景圖片不顯示

問題&#xff1a; 在使用npm run build 打包后&#xff0c; 如果在頁面中使用img標簽引入&#xff0c;打包后的路徑是由index.html開始訪問的&#xff0c;真正訪問的是Static/img/圖片名&#xff0c; 是正確的&#xff0c; 但是寫在css 中的background: url("../../assets…

解決: Linux – git: command not found

出錯原因&#xff1a;服務器沒有安裝GIT&#xff0c;所以導致出錯。 解決方法&#xff1a; 前些天發現了一個巨牛的人工智能學習網站&#xff0c;通俗易懂&#xff0c;風趣幽默&#xff0c;忍不住分享一下給大家。點擊跳轉到教程。 Centos下使用&#xff1a;yum install git…

19-03-25

關于上拉加載和下拉刷新 minirefresh.github.io/minirefresh… 這是一個插件&#xff0c;應該是默認禁止了e.preventDefault和e.stopPropagation&#xff0c;而且在每次touchend中判斷當前滾動條位置&#xff0c;如果到達上部頂部&#xff0c;則再次雙禁止&#xff0c;因為插件…

如何設計函數?

函數&#xff1a; 一段具有某項功能的代碼&#xff0c;是C語言中管理代碼的單位。 把代碼封裝成一個個函數&#xff0c;可以方便的管理和調用代碼。函數分類&#xff1a; 標準庫函數&#xff1a;C語言標準為委員會為C語言以函數形式提供的一些基礎功能&#xff0c;被封裝在lib…

八個被現代科學證實的古老信條

近年來&#xff0c;現代科學證實了很多古代智慧中的教導和信念。幾個世紀以來我們都知道這些信念能夠幫助我們生活的幸福、健康和平衡。《赫芬頓郵報》將八個被現代科學證實的古老信仰整理如下。 1.幫助他人能讓你更健康 近年來&#xff0c;現代科學證實了很多古代智慧中的教…

Hystix熔斷解決雪崩問題

1.線程隔離&#xff0c;服務降級&#xff08;服務的消費方做降級處理&#xff09; 當服務繁忙時&#xff0c;如果服務出現異常&#xff0c;不是粗暴的直接報錯&#xff0c;而是返回一個友好的提示&#xff0c;雖然拒絕了用戶的訪問&#xff0c;但是會返回一個結果。 這就好比去…

Docker 環境下如何 安裝 Zookeeper

前些天發現了一個巨牛的人工智能學習網站&#xff0c;通俗易懂&#xff0c;風趣幽默&#xff0c;忍不住分享一下給大家。點擊跳轉到教程。 第一步&#xff1a;首先下載Zookeeper的鏡像文件&#xff1a; 從倉庫中pull 這個zookeeper鏡像&#xff1a;docker pull jplock/zookeep…

office教程:教你Excel 怎么樣使用信息函數

Excel如何使用信息函數信息函數專門用來返回某些指定單元格或區域的信息&#xff0c;例如獲取文件路徑、單元格格式信息或操作環境信息等。一&#xff0c;使用CELL函數返回引用單元格信息工作表中的每一個單元格都有對應的單元格格式、位置和內容等信息&#xff0c;在Excel中可…

【C基礎】指針/指針運算/二級指針/函數指針

指針定義&#xff1a; 指針是一種數據類型&#xff0c;使用它可以用來定義指針變量&#xff0c;指針變量中存儲的其實是整數&#xff0c;這種整數代表了內存的編號。指針的使用&#xff1a; 1、函數之間相獨立&#xff0c;但有些時候需要共享變量。傳參是值傳遞全局變量容易命…

中醫養生 選對方法就成功一半

在醫院門診室&#xff0c;因為腸胃不適前來看病的林先生。問及他平時的養生之道&#xff0c;他笑談&#xff0c;現在也正困惑著呢。 原來&#xff0c;最近他有兩個朋友&#xff0c;在單位體檢時分別被查出患有腎結石和膽囊炎&#xff0c;他本人最近也犯胃病。 最令人奇怪的一…

二叉查找樹,紅黑樹

漫畫算法&#xff1a;什么是紅黑樹&#xff1f;&#xff08;適合初學紅黑樹小白簡單易懂&#xff09; 2018年09月14日 09:55:54 蘇杭-Java工程師 閱讀數&#xff1a;494———————————— 二叉查找樹&#xff08;BST&#xff09;具備什么特性呢&#xff1f; 1.左子樹上所…

如何在 CentOS 7上安裝和使用 Docker Compose

前些天發現了一個巨牛的人工智能學習網站&#xff0c;通俗易懂&#xff0c;風趣幽默&#xff0c;忍不住分享一下給大家。點擊跳轉到教程。 介紹 Docker是一個很好的工具&#xff0c;但要真正充分利用它的潛力&#xff0c;最好是應用程序的每個組件都在它自己的容器中運行。對于…

WebSSH2安裝過程可實現WEB可視化管理SSH工具

目錄 Chrome web Secure Shell Extension gotty GateOne noVNCvncserver XtermjsSSH2nodejs nodejstty.js CheungSSH TriAquae https://github.com/Scirh/Python/tree/master/django https://www.smarthomebeginner.com/install-shellinabox-on-ubuntu/#64-bit https://gist.gi…

原碼反碼補碼位運算,

進制轉換&#xff1a; 十進制轉二進制&#xff1a; 求余法&#xff1a;用2對數據求余&#xff0c;然后再對商繼續求余&#xff0c;直到商為0結束&#xff0c;過程中產生的余數就是該數據的二進制(逆序)。 求權法&#xff1a;數據 - 2^(n-1) 如果可以減 第n位就是1&#xff0c;否…

一個人幸運的前提,是他有能力改變自己

很多時候&#xff0c;我們羨慕那些幸運的人&#xff0c;卻看不到他們為此做出的努力和改變。 其實&#xff0c;一個人的幸運并不是偶然的&#xff0c;美國成功哲學家金洛恩說過這么一句話&#xff1a;“成功不是追求得來的&#xff0c;而是被改變后的自己主動吸引來的。” …

劍指Offer-正則表達式匹配(Python)

1 題干內容 請實現一個函數用來匹配包括.和*的正則表達式。模式中的字符.表示任意一個字符&#xff0c;而*表示它前面的字符可以出現任意次&#xff08;包含0次&#xff09;。 在本題中&#xff0c;匹配是指字符串的所有字符匹配整個模式。 例如&#xff0c;字符串aaa與模式a.a…

Docker 制作鏡像的方式

其它制作鏡像的方式 前些天發現了一個巨牛的人工智能學習網站&#xff0c;通俗易懂&#xff0c;風趣幽默&#xff0c;忍不住分享一下給大家。點擊跳轉到教程。 除了標準的使用 Dockerfile 生成鏡像的方法外&#xff0c;由于各種特殊需求和歷史原因&#xff0c;還提供了一些其它…

【算法】快排

快速排序 其利用的思想就是分治思想&#xff0c;最開始先從數組中隨機選擇一個元素p&#xff08;為什么隨機下面解釋&#xff09;&#xff0c;然后以這個元素對數組中的元素進行分類&#xff0c;數組左側都是小于p的元素&#xff0c; 右側都是大于等于p的元素。這樣就讓數組分成…

【C基礎】堆內存創建/釋放和內存清理函數/內存泄漏

本期涉及到了較多的指針&#xff0c;沒有徹底領悟的同學請翻閱之前的博文~ 一閃一閃亮晶晶&#xff0c;滿天都是小星星*** 什么是堆內存&#xff1a; 是進程的一個內存段(text、data、bss、heap、stack)之一&#xff0c;由程序員手動管理&#xff0c; 特點就是足夠大&#x…

19_05_01校內訓練[polygon]

題意 把一個邊長為1的正n邊形放到一個正m邊形中&#xff0c;要求m邊形完全覆蓋n邊形&#xff0c;可以有交點&#xff0c;并且中心重合。求正m邊形的最小邊長&#xff0c;至少精確到6位。要求logn計算。 思考 先考慮m|n的情況。 我們知道&#xff0c;正m邊形的邊長與可行區域&am…