07-圖4 哈利·波特的考試 (25 分)

哈利·波特要考試了,他需要你的幫助。這門課學的是用魔咒將一種動物變成另一種動物的本事。例如將貓變成老鼠的魔咒是haha,將老鼠變成魚的魔咒是hehe等等。反方向變化的魔咒就是簡單地將原來的魔咒倒過來念,例如ahah可以將老鼠變成貓。另外,如果想把貓變成魚,可以通過念一個直接魔咒lalala,也可以將貓變老鼠、老鼠變魚的魔咒連起來念:hahahehe。

現在哈利·波特的手里有一本教材,里面列出了所有的變形魔咒和能變的動物。老師允許他自己帶一只動物去考場,要考察他把這只動物變成任意一只指定動物的本事。于是他來問你:帶什么動物去可以讓最難變的那種動物(即該動物變為哈利·波特自己帶去的動物所需要的魔咒最長)需要的魔咒最短?例如:如果只有貓、鼠、魚,則顯然哈利·波特應該帶鼠去,因為鼠變成另外兩種動物都只需要念4個字符;而如果帶貓去,則至少需要念6個字符才能把貓變成魚;同理,帶魚去也不是最好的選擇。

輸入格式:

輸入說明:輸入第1行給出兩個正整數N?(≤)和M,其中N是考試涉及的動物總數,M是用于直接變形的魔咒條數。為簡單起見,我們將動物按1~N編號。隨后M行,每行給出了3個正整數,分別是兩種動物的編號、以及它們之間變形需要的魔咒的長度(≤),數字之間用空格分隔。

輸出格式:

輸出哈利·波特應該帶去考場的動物的編號、以及最長的變形魔咒的長度,中間以空格分隔。如果只帶1只動物是不可能完成所有變形要求的,則輸出0。如果有若干只動物都可以備選,則輸出編號最小的那只。

輸入樣例:

6 11
3 4 70
1 2 1
5 4 50
2 6 50
5 6 60
1 3 70
4 6 60
3 6 80
5 1 100
2 4 60
5 2 80

輸出樣例:

4 70
#include<cstdio>
const int maxn = 110;
const int INF = 1000000000;int n,m;
int G[maxn][maxn] = {0};
//bool vis[maxn] = {false};void init();
void Floyd();int main(){scanf("%d%d",&n,&m);init();int u,v,w;for(int i = 0 ; i < m; i++){scanf("%d%d%d",&u,&v,&w);G[u][v] = G[v][u] = w;}Floyd();//找每個動物中轉化代價最大的代價//選擇轉化最大代價的動物中該代價最小的動物 int min = INF,minIndex;for(int i = 1; i <= n; i++){int max = -1;for(int j = 1; j <= n; j++){if(max < G[i][j]) max = G[i][j];}if(max == INF){printf("0\n");return 0;}if(max < min){min = max;minIndex = i;}}printf("%d %d",minIndex,min);return 0;
}void init(){for(int i = 1; i <= n; i++){for(int j = 1; j <= n; j++){G[i][j] = INF;}G[i][i] = 0;}
}//多源最短路徑---G[i][j]從i點到j點最短路徑 
void Floyd(){for(int k = 1; k <= n; k++){for(int i = 1; i <= n; i++){for(int j = 1; j <= n; j++){if(G[i][k] + G[k][j] < G[i][j]){G[i][j] = G[i][k] + G[k][j];}}}}
}

?

轉載于:https://www.cnblogs.com/wanghao-boke/p/10821259.html

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

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

相關文章

C++ Primer (二)目錄

第十五章&#xff1a;面向對象程序設計 1. 虛函數/2. 虛函數表剖析&#xff08;一&#xff09;3. 虛函數表剖析&#xff08;二&#xff09;4. 虛函數表剖析&#xff08;三&#xff09;

07-圖6 旅游規劃 (25 分)

有了一張自駕旅游路線圖&#xff0c;你會知道城市間的高速公路長度、以及該公路要收取的過路費。現在需要你寫一個程序&#xff0c;幫助前來咨詢的游客找一條出發地和目的地之間的最短路徑。如果有若干條路徑都是最短的&#xff0c;那么需要輸出最便宜的一條路徑。 輸入格式: 輸…

08-圖7 公路村村通 (30 分)

現有村落間道路的統計數據表中&#xff0c;列出了有可能建設成標準公路的若干條道路的成本&#xff0c;求使每個村落都有公路連通所需要的最低成本。 輸入格式: 輸入數據包括城鎮數目正整數N&#xff08;≤&#xff09;和候選道路數目M&#xff08;≤&#xff09;&#xff1b;隨…

《回溯算法》目錄

序號題目標記1 46. 全排列 2 47. 全排列 II 3 39. 組合總和 4 40. 組合總和 II 5 6

08-圖9 關鍵活動 (30 分)

假定一個工程項目由一組子任務構成&#xff0c;子任務之間有的可以并行執行&#xff0c;有的必須在完成了其它一些子任務后才能執行。“任務調度”包括一組子任務、以及每個子任務可以執行所依賴的子任務集。 比如完成一個專業的所有課程學習和畢業設計可以看成一個本科生要完成…

C++ Primer

C Primer目錄索引 虛函數表剖析&#xff08;一&#xff09;虛函數表剖析&#xff08;二&#xff09;static關鍵字用法 volatile、const的用法???????

10-排序4 統計工齡 (20 分)

給定公司N名員工的工齡&#xff0c;要求按工齡增序輸出每個工齡段有多少員工。 輸入格式: 輸入首先給出正整數N&#xff08;≤&#xff09;&#xff0c;即員工總人數&#xff1b;隨后給出N個整數&#xff0c;即每個員工的工齡&#xff0c;范圍在[0, 50]。 輸出格式: 按工齡的遞…

10-排序6 Sort with Swap(0, i) (25 分)

Given any permutation of the numbers {0, 1, 2,..., N?1}, it is easy to sort them in increasing order. But what if Swap(0, *) is the ONLY operation that is allowed to use? For example, to sort {4, 0, 2, 1, 3} we may apply the swap operations in the follow…

Java讀取Excel文件

首先下載jxl.jar包&#xff0c;下載地址&#xff1a;http://download.csdn.net/detail/prstaxy/4469935然后在工程文件上右鍵選Built Path—Configure Built Path切換到Libraries導入jxl.jar包。讀取Excel方法示例&#xff1a;寫入Excel見文章&#xff1a;http://blog.csdn.net…

11-散列1 電話聊天狂人 (25 分)

給定大量手機用戶通話記錄&#xff0c;找出其中通話次數最多的聊天狂人。 輸入格式: 輸入首先給出正整數N&#xff08;≤&#xff09;&#xff0c;為通話記錄條數。隨后N行&#xff0c;每行給出一條通話記錄。簡單起見&#xff0c;這里只列出撥出方和接收方的11位數字構成的手機…

Java寫入Excel文件

首先下載jxl.jar包&#xff0c;下載地址&#xff1a;http://download.csdn.net/detail/prstaxy/4469935然后在工程文件上右鍵選Built Path—Configure Built Path切換到Libraries導入jxl.jar包。寫入Excel方法示例&#xff1a;讀取Excel見文章&#xff1a;http://blog.csdn.net…

Glib介紹

GLib是一種底層庫&#xff0c;創建GDK和GTK應用程序時該庫提供許多有用的定義和函數。包括基本類型及限制的定義、標準宏、類型轉化、字節序、存儲分配、警告和斷言、消息記錄、計時器、字符串工具、hook函數、句法掃描器、動態加載模塊和字符串自動補全&#xff0c;同時也提供…

11-散列3 QQ帳戶的申請與登陸 (25 分)

實現QQ新帳戶申請和老帳戶登陸的簡化版功能。最大挑戰是&#xff1a;據說現在的QQ號碼已經有10位數了。 輸入格式: 輸入首先給出一個正整數N&#xff08;≤&#xff09;&#xff0c;隨后給出N行指令。每行指令的格式為&#xff1a;“命令符&#xff08;空格&#xff09;QQ號碼&…

glib字符串

學過面向對象語言的同學一定都知道String類&#xff0c;一定知道這個類對字符串的操作是多麼的方便&#xff0c;但是c語言中是沒有這個類&#xff0c;甚至沒有類的概念&#xff0c;但是glib幫我們做的這個“類” GString 除了使用gchar *進行字符串處理以外&#xff0c;Glib還…

KMP 串的模式匹配 (25 分)

給定兩個由英文字母組成的字符串 String 和 Pattern&#xff0c;要求找到 Pattern 在 String 中第一次出現的位置&#xff0c;并將此位置后的 String 的子串輸出。如果找不到&#xff0c;則輸出“Not Found”。 本題旨在測試各種不同的匹配算法在各種數據情況下的表現。各組測試…

命令行工具tshark使用小記

1、目的 寫這篇博客的目的主要是為了方便查閱&#xff0c;使用wireshark可以分析數據包&#xff0c;可以通過編輯過濾表達式來達到對數據的分析&#xff1b;但我的需求是&#xff0c;怎么樣把Data部分導出來&#xff0c;因為后續的工作主要針對數據包的Data部分&#xff0c;主要…

winshark重要數據結構

說起來有一些慚愧&#xff0c;研究wireshark有一段時間了&#xff0c;但是對源代碼的分析卻至今沒有什么進展。。。 最初想要研究wireshark是因為我的開題是基于wireshark來做的。 現在有很多抓包工具&#xff0c;wireshark的優勢在于完全開源&#xff0c;分析功能強大&#xf…

C語言寫數據庫(二)

簡單的實現增刪查改的操作后&#xff0c;實現了一個先讀寫其中一個表的某兩項內容&#xff0c;再把相關字符段寫入到另外一張表中去。涉及到查詢和插入兩個步驟。 其中還涉及到漢字的讀寫和插入&#xff0c;會有字符的操作產生亂碼。所以要先保證mysql的漢字字符編碼&#xff0…

wireshark源代碼分析

各位親&#xff0c;不是我不想回復你們的問題。是我也不了解。不能誤導。希望大家相互幫助。看看能否幫那些提問的小盆友們回復一下呢&#xff1f; 這些都是轉載的&#xff0c;如果實在沒有辦法&#xff0c;可以打開鏈接到原作者哪里去提問試試看。。。 經過多次嘗試&#xf…

C語言寫數據庫(三)

遇到的問題以及解決思路方法 1.外部導入數據庫文件 進入mysql&#xff0c;創建數據庫sh_robot source /home/exbot/sh_robot.sql 查看數據庫編碼格式 show variables like “%char%”; 2.數據庫插入操作 進入相關數據庫&#xff1a;use 數據庫名&#xff1b; 查詢存在該表是否存…