日本搞逼视频_黄色一级片免费在线观看_色99久久_性明星video另类hd_欧美77_综合在线视频

國內最全IT社區平臺 聯系我們 | 收藏本站
阿里云優惠2
您當前位置:首頁 > php開源 > php教程 > POJ 3615 Cow Hurdles (Floyd算法)

POJ 3615 Cow Hurdles (Floyd算法)

來源:程序員人生   發布時間:2015-02-27 08:12:39 閱讀次數:2812次

Cow Hurdles
Time Limit: 1000MS   Memory Limit: 65536K
Total Submissions: 6142   Accepted: 2752

Description

Farmer John wants the cows to prepare for the county jumping competition, so Bessie and the gang are practicing jumping over hurdles. They are getting tired, though, so they want to be able to use as little energy as possible to jump over the hurdles.

Obviously, it is not very difficult for a cow to jump over several very short hurdles, but one tall hurdle can be very stressful. Thus, the cows are only concerned about the height of the tallest hurdle they have to jump over.

The cows' practice room has N (1 ≤ N ≤ 300) stations, conveniently labeled 1..N. A set of M (1 ≤ M ≤ 25,000) one-way paths connects pairs of stations; the paths are also conveniently labeled 1..M. Path itravels from station Si to station Ei and contains exactly one hurdle of height Hi (1 ≤ Hi ≤ 1,000,000). Cows must jump hurdles in any path they traverse.

The cows have T (1 ≤ T ≤ 40,000) tasks to complete. Task i comprises two distinct numbers, Ai and Bi (1 ≤ Ai ≤ N; 1 ≤ Bi ≤ N), which connote that a cow has to travel from station Ai to station Bi (by traversing over one or more paths over some route). The cows want to take a path the minimizes the height of the tallest hurdle they jump over when traveling from Ai to Bi . Your job is to write a program that determines the path whose tallest hurdle is smallest and report that height.
 

Input

* Line 1: Three space-separated integers: NM, and T
* Lines 2..M+1: Line i+1 contains three space-separated integers: Si , Ei , and Hi 
* Lines M+2..M+T+1: Line i+M+1 contains two space-separated integers that describe task i: Ai and Bi

Output

* Lines 1..T: Line i contains the result for task i and tells the smallest possible maximum height necessary to travel between the stations. Output ⑴ if it is impossible to travel between the two stations.

Sample Input

5 6 3 1 2 12 3 2 8 1 3 5 2 5 3 3 4 4 2 4 8 3 4 1 2 5 1

Sample Output

4 8 ⑴

Source

USACO 2007 November Silver



題意:有1頭牛,要進行跳木樁訓練,已知有n個木樁,而且知道m對木樁之間的高度差。但是它很懶,它想盡量的跳最小的高度就完成從任意1個木樁到任意1個木樁的跳躍,給m對點,問是不是存在最小的跳躍高度使得其能夠完成跳躍,如果有就輸出最小高度;否則輸出⑴。


解析:現在要記錄路徑“長度”,實際上是最大跳躍高度,說白了就是,這條路徑上所經過的相鄰兩木樁之間的差值的最大值,由于只要能跳過這個高度差最大的,高度差小確當然能跳過去了。由因而求任意兩木樁之間的最大高度差值的最小值,所以我們可以用Floyd算法,對其進行處理,處理以后得到的終究結果就是最大高度的最小值了。




AC代碼:

#include <cstdio> #include <iostream> #include <algorithm> using namespace std; #define INF 123456789 int a[302][302]; //最大高度的最小值矩陣 int main(){ int n, m, t; int x, y, w; while(scanf("%d%d%d", &n, &m, &t)!=EOF){ for(int i=1; i<=n; i++) //初始化 for(int j=1; j<=n; j++) a[i][j] = i==j ? 0 : INF; for(int i=1; i<=m; i++){ //讀入高度差 scanf("%d%d%d", &x, &y, &w); a[x][y] = min(a[x][y], w); //更新最大高度差 } for(int k=1; k<=n; k++) //Floyd for(int i=1; i<=n; i++) for(int j=1; j<=n; j++){ a[i][j] = min(a[i][j], max(a[i][k], a[k][j])); } for(int i=1; i<=t; i++){ scanf("%d%d", &x, &y); printf("%d ", a[x][y]==INF ? ⑴ : a[x][y]); //輸出,如果還是INF,那就代表不可達,二者時之間沒有路徑滿足要求 } } return 0; }






生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: 国产激情视频在线观看 | 欧美日韩成人一区 | 久久精品国产亚洲一区二区三区 | 中文字幕在线不卡视频 | 九九热在线播放 | 日韩电影在线免费观看 | 国产一区二区三区片 | 久久精品视频在线播放 | 红桃www.ht123成人 | 国产99久久精品一区二区永久免费 | 国产精品福利一区二区 | 日韩激情一区 | 天堂在线网 | 99久久精品国产麻豆演员表 | 永久免费视频 | 日本特黄a级高清免费大片 韩国精品久久久 | 日韩av毛片 | 18做爰免费视频网站 | 亚洲成人av在线 | 免费一二二区视频 | 国产日韩精品视频一区二区三区 | 国产成人精品免费视频大全最热 | 青青草在线播放 | 国内精品视频在线播放 | 日韩精品网站 | 精品久久久久久久久久久久久久久 | 久久九九免费 | 操操综合 | 欧美日韩视频免费观看 | 亚洲福利电影网 | 能看av的网站 | 久久午夜视频 | 日韩精品免费一区二区三区 | 国产一级黄色电影 | 国产精品久久久久久久久久久久 | 亚洲h视频| 亚洲成人免费网站 | 一区二区三区日韩欧美 | 午夜激情在线观看 | 日本一区二区在线视频 | 欧美日韩精品在线观看 |