最佳旅遊路線

2021-07-15 10:58:28 字數 1314 閱讀 7259

【題目描述】

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

如下圖,是被打過分的某旅遊的街道圖:

阿龍可以從任何乙個路口開始遊覽,在任何乙個路口結束遊覽。請你寫乙個程式,幫助阿龍找一條最佳的旅遊路線,使得這條路線的所有分值總和最大。

【輸入格式】

第一行是兩個整數m和n,之間用乙個空格分開,m表示有多少條旅遊街,n表示有多少條林蔭道。接下來的m行一次給出了由北向南每條旅遊街的分值。每行有n-1個整數,一次表示自西向東旅遊街每一小段的分值。同一行相鄰兩個數之間用乙個空格隔開。

【輸出格式】

一行乙個整數,表示最佳旅遊路線的最大總分值。

【輸入樣例】

3 6

-50 -47 36 -30 -23

17 -19 -34 -13 -8

-42 -3 -43 34 -45

【輸出樣例】

【樣例解釋】

沿著如下圖的路線走是最優路線:

【資料範圍】

1<=m<=100 1<=n<=20001

因為林蔭道(上下走)不計分,所以要取得最大值就應該每次走m行中分最大的乙個。又因為可以從任意路口開始結束,所以此題就可以看成是一道求最大連續子串行的題,序列即為每列的最大值。

#include

#include

#include

#include

#define maxn 20005

#define oo 2000000000

using

namespace

std;

int n,m,***x,ans=-oo;

int c[maxn],s[maxn];

int read()

return ok==1?-x:x;

}void out(int x)

void in()

}void task()

}int main()

遊武大 登臨珞珈 探武大旅遊最佳路線

是筆直穿越武大還是爬珞珈主山?武大有一條主路,可以從校門牌坊直達櫻花大道,經老圖書館,再遠眺行政樓和珞珈風景,至武大後門抵達東湖。這是條經典路線,它的好處就是跨越了著名景點,絕大部分人很熟悉,不容易出問題,非常保險。不好的地方很明顯,路線太短,達不到鍛鍊的目的,另外武大後門東湖邊沒有經濟實惠的餐廳,...

最佳旅遊線路

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

CODEVS 3300 旅遊路線

有n個旅客來到了乙個旅遊景點,你作為乙個導遊要給這n個旅客安排旅遊路線。如果你安排了第i個旅客去旅遊,那麼你會得到xi的錢 若xi為負數,則你需要給他 xi的錢 對於第i個顧客,他有ki個要求。每個要求是乙個二元組 aij,bij 表示如果你安排了顧客i去,但是沒有安排顧客aij去,那麼xi就要減去...