L2 4 網紅點打卡攻略 25分

2021-10-11 09:17:12 字數 1624 閱讀 2559

l2-4 網紅點打卡攻略 (25分)

乙個旅遊景點,如果被帶火了的話,就被稱為「網紅點」。大家來網紅點遊玩,俗稱「打卡」。在各個網紅點打卡的快(省)樂(錢)方法稱為「攻略」。你的任務就是從一大堆攻略中,找出那個能在每個網紅點打卡僅一次、並且路上花費最少的攻略。

首先第一行給出兩個正整數:網紅點的個數 n(1nv1 v2 ⋯ v**n

其中 n(≤200) 是攻略中的網紅點數,v**i 是路徑上的網紅點編號。這裡假設你從家裡出發,從 v1 開始打卡,最後從 v**n 回家。

在第一行輸出滿足要求的攻略的個數。

在第二行中,首先輸出那個能在每個網紅點打卡僅一次、並且路上花費最少的攻略的序號(從 1 開始),然後輸出這個攻略的總路費,其間以乙個空格分隔。如果這樣的攻略不唯一,則輸出序號最小的那個。

題目保證至少存在乙個有效攻略,並且總路費不超過 109。

6130

5262

2601

3421

5225

1311

4121

6163

2121

4532

0276

5143

6265

2163

4862

1634

5232

1566

1345

2762

1345

2652

1436

3

511

第 2、3、4、6 條都不滿足攻略的基本要求,即不能做到從家裡出發,在每個網紅點打卡僅一次,且能回到家裡。所以滿足條件的攻略有 3 條。

第 1 條攻略的總路費是:(0->5) 2 + (5->1) 2 + (1->4) 2 + (4->3) 2 + (3->6) 2 + (6->2) 2 + (2->0) 2 = 14;

第 5 條攻略的總路費同理可算得:1 + 1 + 1 + 2 + 3 + 1 + 2 = 11,是一條更省錢的攻略;

第 7 條攻略的總路費同理可算得:2 + 1 + 1 + 2 + 2 + 2 + 1 = 11,與第 5 條花費相同,但序號較大,所以不輸出。

#include

using

namespace std;

intmain()

;int n,m;

cin>>n>>m;

int x,y,money;

for(

int i=

0;i)int k,num=

0,fsum=

1e9,f=1;

cin>>k;

for(

int j=

1;j<=k;j++

)for

(int i=

1;i) t=d;}if

(b==0)

continue;if

(a[t][0

])sum+

=a[t][0

];else

if(s.

size()

==n&&s2.

size()

==n)}}

cout

}

L2 4 網紅點打卡攻略

賽場上,得了18分,剛才提交,一次過了。比賽的時候還是想的不仔細。乙個旅遊景點,如果被帶火了的話,就被稱為 網紅點 大家來網紅點遊玩,俗稱 打卡 在各個網紅點打卡的快 省 樂 錢 方法稱為 攻略 你的任務就是從一大堆攻略中,找出那個能在每個網紅點打卡僅一次 並且路上花費最少的攻略。首先第一行給出兩個...

L2 036 網紅點打卡攻略 25 分

乙個旅遊景點,如果被帶火了的話,就被稱為 網紅點 大家來網紅點遊玩,俗稱 打卡 在各個網紅點打卡的快 省 樂 錢 方法稱為 攻略 你的任務就是從一大堆攻略中,找出那個能在每個網紅點打卡僅一次 並且路上花費最少的攻略。輸入格式 首先第一行給出兩個正整數 網紅點的個數 n 1再下一行給出乙個正整數 k,...

L2 4 彩虹瓶 (25 分

題目鏈結 彩虹瓶的製作過程 並不 是這樣的 先把一大批空瓶鋪放在裝填場地上,然後按照一定的順序將每種顏色的小球均勻撒到這批瓶子裡。假設彩虹瓶裡要按順序裝 n 種顏色的小球 不妨將順序就編號為 1 到 n 現在工廠裡有每種顏色的小球各一箱,工人需要一箱一箱地將小球從工廠裡搬到裝填場地。如果搬來的這箱小...