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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

【每日一题】8月6日题目精讲—追债之旅

發布時間:2023/12/3 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【每日一题】8月6日题目精讲—追债之旅 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

來源:牛客網:

時間限制:C/C++ 1秒,其他語言2秒 空間限制:C/C++ 65536K,其他語言131072K 64bit IO Format: %lld

文章目錄

    • 題目描述
    • 題解:
    • 代碼:

題目描述

小明現在要追討一筆債務,已知有n座城市,每個城市都有編號,城市與城市之間存在道路相連(每條道路都是雙向的),經過任意一條道路需要支付費用。小明一開始位于編號為1的城市,欠債人位于編號為n的城市。小明每次從一個城市到達另一個城市需要耗時1天,而欠債人每天都會揮霍一定的錢,等到第k天后(即第k+1天)他就會離開城n并再也找不到了。小明必須要在他離開前抓到他(最開始為第0天),同時希望自己的行程花費和欠債人揮霍的錢的總和最小,你能幫他計算一下最小總和嗎?

輸入描述:
第1行輸入三個整數n,m,k,代表城市數量,道路數量和指定天數
第2-m+1行,每行輸入三個整數u,v,w,代表起點城市,終點城市和支付費用。(數據保證無重邊,自環)
第m+2行輸入k個整數,第i個整數ai代表第i天欠債人會揮霍的錢。
數據保證:0<n≤1000,0<m≤10000,0<k≤10,1≤u,v≤n,0<w,ai≤1000
輸出描述:
輸出一行,一個整數,代表小明的行程花費和欠債人揮霍的錢的最小總和,如果小明不能抓住欠債人(即不能在第k天及之前到達城n),則輸出-1。
示例1
輸入
復制

3 3 2 1 3 10 1 2 2 2 3 2 3 7

輸出
復制

13

說明
小明從1-3,總共費用=10(行程)+3(揮霍費用)=13,是方案中最小的(另一條方案花費14)。
示例2
輸入
復制

3 2 1 1 2 3 2 3 3 10

輸出
復制

-1

說明
小明無法在第1天趕到城3,所以輸出-1。

題解:

最短路問題
就是求最短路,并根據是第幾天加上相應的數
松弛條件改為dis[d+1][v]>dis[d][u]+w+a[d+1]
dis[x][y]:x表示第x天,y為點
a[]:a存儲的第x天的揮霍費用
記得特判能否在d天內抓住嫌疑犯

代碼:

#include<bits/stdc++.h> using namespace std; #define fi first #define se second #define pb push_back #define mp make_pair #define all(x) (x).begin(),(x).end() #define SZ(x) (int)x.size() typedef long long ll; typedef pair<int, int> pii; typedef pair<ll, ll> pll; const int mod=1e9+7; //const int mod=998244353; const double eps = 1e-10; const double pi=acos(-1.0); const int maxn=1e6+10; const ll inf=0x3f3f3f3f;struct node{int d,u,w;bool operator< (const node &p)const{return w>p.w;} }; int n,m,k; vector<pii> g[maxn]; int dis[1010][1010],a[maxn]; void dij(){memset(dis,inf,sizeof dis);dis[0][1]=0;priority_queue<node>q;q.push((node){0,1,0});while(!q.empty()){node p=q.top();q.pop();int u=p.u,d=p.d;if(p.w>dis[d][u])continue;for(auto i:g[u]){int v=i.fi,w=i.se;if(d+1<=k&&dis[d+1][v]>dis[d][u]+w+a[d+1]){dis[d+1][v]=dis[d][u]+w+a[d+1];q.push((node){d+1,v,dis[d+1][v]});}}} } int main() {ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);//freopen("in.txt","r",stdin);//freopen("out.txt","w",stdout);cin>>n>>m>>k;for(int i=1;i<=m;i++){int u,v,w;cin>>u>>v>>w;g[u].pb(mp(v,w));g[v].pb(mp(u,w));}for(int i=1;i<=k;i++)cin>>a[i];dij();int ans=inf;for(int i=1;i<=k;i++)ans=min(ans,dis[i][n]);if(ans!=inf)cout<<ans;else cout<<-1;return 0; }

總結

以上是生活随笔為你收集整理的【每日一题】8月6日题目精讲—追债之旅的全部內容,希望文章能夠幫你解決所遇到的問題。

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

主站蜘蛛池模板: 粗喘呻吟撞击猛烈疯狂 | 美女被男人桶出白浆喷水 | 欧美丝袜一区二区 | mm1313亚洲国产精品美女 | 欧美精品色呦呦 | 亚洲AV无码久久精品浪潮 | 国产特黄| 精品国产乱子伦 | 国产最新地址 | 青青视频免费观看 | www插插插 | 国产顶级毛片 | 手机av电影在线 | 久久国产三级 | 欧美综合在线观看 | 午夜精品网站 | 欧美三级小说 | 久久福利社| 性欧美巨大乳 | 超碰啪啪 | 欧美一级在线观看 | 夜夜综合网| 手机电影在线观看 | 日韩操比| 久久久丁香| 性chinese天美传媒麻 | 日韩三级在线观看 | 男人的天堂黄色 | 亚洲伦理中文字幕 | 色婷婷精品国产一区二区三区 | 久久综合狠狠 | 欧美亚洲综合在线 | 中国三级视频 | 青青青在线视频免费观看 | 奇米狠狠干 | 他趴在我两腿中间添得好爽在线看 | 岛国大片在线观看 | 精品亚洲精品 | 久久黄色 | 国产乱码一区二区三区播放 | 男生和女生一起差差差很痛的视频 | 久久久噜噜噜www成人网 | 国产人成无码视频在线观看 | 校园伸入裙底揉捏1v1h | 狂野少女电影在线观看国语版免费 | 日皮视频免费看 | 亚洲精品1区2区3区 国产丝袜网站 | 人人人妻人人澡人人爽欧美一区 | 亚洲在线视频网站 | 中日韩免费视频 | 91超碰免费在线 | 先锋影音av资源在线观看 | 亚洲色图图| 精品福利在线 | 国产视频在线一区二区 | 国产区一区二区 | 日本在线观看一区二区三区 | 欧美中文在线观看 | 成人午夜又粗又硬又大 | 五月婷婷丁香 | 成人在线网 | 国产美女主播 | 亚洲色图校园春色 | 久久久精品蜜桃 | 久久久久久影视 | aaaaaav | 秋霞三区 | 亚洲日本韩国在线 | 日韩高清在线观看 | 亚洲精品第三页 | 亚洲激情综合 | 亚洲精品视频在线观看免费 | 亚洲黄片一区二区三区 | 黄视频网站免费看 | 国产69精品久久 | 91视频第一页| 有码一区二区三区 | 欧美另类z0zx974 | 欧美一级射 | 免费小视频| 色呦呦一区二区 | 国偷自拍第113页 | 午夜看毛片 | www.久热 | 久久一区二区三区精品 | 欧美精品18 | 久久婷婷五月综合色国产香蕉 | 91欧美成人| 成人性生交大片免费看中文 | 日本蜜桃视频 | 一区二区三区伦理片 | 欧美国产在线视频 | 欧美日本韩国一区二区 | 欧美黑人疯狂性受xxxxx喷水 | 69视频免费 | 成人黄色免费视频 | 在线观看av片 | 秋霞午夜视频 | 国产精品国产三级国产专区51区 |