最佳旅遊線路

2021-08-15 18:50:23 字數 1321 閱讀 9679

題目描述

某旅遊區的街道成網格狀。其中東西向的街道都是旅遊街,南北向的街道都是林**。由於遊客眾多,旅遊街被規定為單行道,遊客在旅遊街上只能從西向東走,在林**上則既可從南向北走,也可以從北向南走。

阿龍想到這個旅遊街遊玩,他的好友阿福給了他一些建議,用分值表示所有旅遊街相鄰兩個路口之見的街道值得遊覽的程度,分值是從-100到100的整數,所有林**不打分。所有分值不可能全是負分。如圖:

輸入輸出格式

輸入格式:

輸入檔案的第一行是兩個整數m和n,之間用乙個空格隔開,m表示有m條旅遊街(1≤m≤100 ),n 表示有(n+1)條林**(1≤n≤20001 )。接下來的m行依次給出了由北向南每條旅遊街的分值資訊。每行有n個整數,依次表示了自西向東旅遊街每一小段的分值。同一行相鄰兩個數之間用乙個空格隔開。

輸出格式:

輸出檔案只有一行,是乙個整數,表示你的程式找到的最佳遊覽線路的總分值。

輸入輸出樣例

輸入樣例#1:

3 5

-50 -47 36 -30 -23

17 -19 -34 -13 -8

-42 -3 -43 34 -45

輸出樣例#1:

84 .

. .

. . .分析

找出每列最大值,再求最大子段和……

. .

. .

. . . .

程式:

var

n,m,i,j,k,max:longint;

a:array[0..20001]of longint;

begin

readln(n,m);

for i:=1

to m do

a[i]:=-maxlongint;

for i:=1

to n do

for j:=1

to m do

begin

read(k);

if k>a[j] then a[j]:=k;

end;

k:=0;

max:=-maxlongint;

for i:=1

to m do

begin

if a[i]+k<0

then k:=0

else k:=k+a[i];

if k>max then max:=k;

end;

writeln(max);

end.

P2096 最佳旅遊線路

某旅遊區的街道成網格狀。其中東西向的街道都是旅遊街,南北向的街道都是林 由於遊客眾多,旅遊街被規定為單行道,遊客在旅遊街上只能從西向東走,在林 上則既可從南向北走,也可以從北向南走。阿龍想到這個旅遊街遊玩,他的好友阿福給了他一些建議,用分值表示所有旅遊街相鄰兩個路口之見的街道值得遊覽的程度,分值是從...

luogu2096 最佳旅遊線路

時空限制 1000ms 128mb 某旅遊區的街道成網格狀。其中東西向的街道都是旅遊街,南北向的街道都是林 由於遊客眾多,旅遊街被規定為單行道,遊客在旅遊街上只能從西向東走,在林 上則既可從南向北走,也可以從北向南走。阿龍想到這個旅遊街遊玩,他的好友阿福給了他一些建議,用分值表示所有旅遊街相鄰兩個路...

3 旅遊線路

地球人,都知道。山越高越大,可 的景點就會越多,如果沒有一幅導遊圖,我們只能走到哪算哪了。linux核心的學習過程與爬山沒有什麼區別。對初次到此一遊者而言,這座山還是蠻高大的。不僅如此,各個路口或山頭要麼被茂密的枝葉所遮擋,要麼還有各種各樣雜亂無章的方向指示牌,在這種情況下,如果我們沒有任何輔助裝置...