日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

洛谷 P1690 贪婪的Copy

發布時間:2025/6/17 编程问答 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 洛谷 P1690 贪婪的Copy 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

題目描述

Copy從盧牛那里聽說在一片叫yz的神的領域埋藏著不少寶藏,于是Copy來到了這個被劃分為個區域的神地。盧牛告訴了Copy這里共有個寶藏,分別放在第Pi個(1<=Pi<=N)區域。Copy還得知了每個區域之間的距離?,F在Copy從1號區域出發,要獲得所有的寶藏并到n號區域離開。Copy很懶,只好來找你為他尋找一條合適的線路,使得他走過的距離最短。

輸入輸出格式

輸入格式:

?

第一行一個正整數N(1<=N<=100)

接下來一個N*N的矩陣,第i+1行第j列的數字表示區域i,j之間的距離。每個距離用空格隔開,距離保證i,j<=1000。請注意的i to j距離并不一定等于j to i的距離。

第N+2行一個整數P(0<=P<=10)。

第N+3行共P個用空格隔開的整數,表示有寶藏的區域編號。

?

輸出格式:

?

一個整數,為Copy獲得全部寶藏需要的最短距離。數據保證答案小于等于maxlongint。

?

輸入輸出樣例

輸入樣例#1:
樣例輸入1 2 0 4 5 0 2 1 2樣例輸入2 3 0 2 6 1 0 4 7 10 0 1 2 輸出樣例#1:
樣例輸出1 4樣例輸出1 6

說明

對30%的數據,1<=n<=15,其余如題所述。

對100%的數據,全部數據范圍如題所述。

?

floyd+全排列?

屠龍寶刀點擊就送

#include <algorithm> #include <cstring> #include <cstdio> #define Max 150 using namespace std;int a,tx[Max][Max],p,n; void floyd() {for(int i=1;i<=n;++i)for(int j=1;j<=n;++j)for(int k=1;k<=n;++k)tx[j][k]=min(tx[j][k],tx[j][i]+tx[i][k]);scanf("%d",&p);int ans=0,Answer=0x7fffffff,sx[11];for(int i=1;i<=p;++i) scanf("%d",&sx[i]);sort(sx+1,sx+1+p);do{ans=0;ans=tx[1][sx[1]]+tx[sx[p]][n];for(int i=1;i<p;++i) ans+=tx[sx[i]][sx[i+1]];Answer=min(Answer,ans);}while(next_permutation(sx+1,sx+1+p)); printf("%d",Answer); } int main() {scanf("%d",&n);for(int i=1;i<=n;++i)for(int j=1;j<=n;++j)scanf("%d",&tx[i][j]);floyd();return 0; }

?

轉載于:https://www.cnblogs.com/ruojisun/p/6580425.html

總結

以上是生活随笔為你收集整理的洛谷 P1690 贪婪的Copy的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。