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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

P1476 休息中的小呆

發布時間:2023/12/31 编程问答 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 P1476 休息中的小呆 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

P1476 休息中的小呆

題目描述

當大家在考場中接受考驗(折磨?)的時候,小呆正在悠閑(欠扁)地玩一個叫“最初夢想”的游戲。游戲描述的是一個叫pass的有志少年在不同的時空穿越對抗傳說中的大魔王chinesesonic的故事。小呆發現這個游戲的故事流程設計得很復雜,它有著很多的分支劇情,但不同的分支劇情是可以同時進行的,因此游戲可以由劇情和劇情的結束點組成,某些劇情必須要在一些特定的劇情結束后才能繼續發展。為了體驗游戲的完整性,小呆決定要看到所有的分支劇情——完成所有的任務。但這樣做會不會耽誤小呆寶貴的睡覺時間呢?所以就請你來解決這個問題了。

輸入輸出格式

輸入格式:

?

小呆會給你一個劇情流程和完成條件的列表,

其中第一行有一個數n(0<n<100),表示總共有n個劇情結束點,

第二行一個數m(0<m<=120),表示有m個不同的劇情,

下面的m行中每行有三個數i(0<i<=100),j(0<j<=100),k(0<k<=1000),表示從劇情結束點i必須完成一個耗費時間為k的劇情才能到達劇情結束點j。

?

輸出格式:

?

你要告訴小呆完成整個游戲至少需要多少時間以及要經過的所有可能的劇情結束點(按升序輸出)。

?

輸入輸出樣例

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

這里是求最長路并且結點個數+1

1、存儲圖:看數據量,這里是100,鄰接矩陣

2、floyed優化:I,j,k不等并且用來dp的值有值

3、輸出優化點:更新過別人的點

?

1 #include <bits/stdc++.h> 2 const int N=1e2+10; 3 using namespace std; 4 int dp[N][N],n,m; 5 6 int main(){ 7 //freopen("in.txt","r",stdin); 8 cin>>n>>m; 9 for(int i=1;i<=m;i++){ 10 int u,v,w; 11 cin>>u>>v>>w; 12 dp[u][v]=w; 13 } 14 for(int k=1;k<=n+1;k++){ 15 for(int i=1;i<=n+1;i++){ 16 for(int j=1;j<=n+1;j++){ 17 if(i!=j&&j!=k&&dp[i][k]&&dp[k][j]){ 18 dp[i][j]=max(dp[i][j],dp[i][k]+dp[k][j]); 19 } 20 } 21 } 22 } 23 cout<<dp[1][n+1]<<endl; 24 for(int k=1;k<=n+1;k++){ 25 if(dp[1][n+1]==dp[1][k]+dp[k][n+1]) 26 cout<<k<<" "; 27 } 28 cout<<endl; 29 return 0; 30 }

?

?

總結

以上是生活随笔為你收集整理的P1476 休息中的小呆的全部內容,希望文章能夠幫你解決所遇到的問題。

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