51nod 1459 迷宮遊戲
你來到一個迷宮前。該迷宮由若干個房間組成,每個房間都有一個得分,第一次進入這個房間,你就可以得到這個分數。還有若干雙向道路連結這些房間,你沿著這些道路從一個房間走到另外一個房間需要一些時間。遊戲規定了你的起點和終點房間,你首要目標是從起點儘快到達終點,在滿足首要目標的前提下,使得你的得分總和儘可能大。現在問題來了,給定房間、道路、分數、起點和終點等全部資訊,你能計算在儘快離開迷宮的前提下,你的最大得分是多少麼?
Input
第一行4個整數n (<=500), m, start, end。n表示房間的個數,房間編號從0到(n - 1),m表示道路數,任意兩個房間之間最多隻有一條道路,start和end表示起點和終點房間的編號。 第二行包含n個空格分隔的正整數(不超過600),表示進入每個房間你的得分。 再接下來m行,每行3個空格分隔的整數x, y, z (0<z<=200)表示道路,表示從房間x到房間y(雙向)的道路,注意,最多隻有一條道路連結兩個房間, 你需要的時間為z。 輸入保證從start到end至少有一條路徑。
Output
一行,兩個空格分隔的整數,第一個表示你最少需要的時間,第二個表示你在最少時間前提下可以獲得的最大得分。
Input示例
3 2 0 2 1 2 3 0 1 10 1 2 11
Output示例
21 6
時間和 分數 當時間相同的時候 選擇分數大的 dj
#include<bits/stdc++.h>
#define mem(a,b) memset(a,b,sizeof(a))
#define inf 0x3f3f3f3f
using namespace std;
int dis[10001];
bool f[10001];
int d[10001][1001];
int pre[10001];
int v[1001];
int main(){
int m,st,en,n;
cin>>n>>m>>st>>en;
for(int j=0;j<=n;j++){
for(int k=0;k<=n;k++){
d[j][k]=inf;
// if(j==k) d[j][k]=0;
}
}
for(int j=0;j<n;j++){
cin>>pre[j];
}
for(int j=0;j<m;j++){
int x,y,z;
cin>>x>>y>>z;
if (d[x][y] > z){
d[x][y]=z;
d[y][x]=z;
}
}
v[st]=pre[st];
mem(f,0);
for(int j=0;j<n;j++){
dis[j]=d[st][j];
if(d[st][j]<inf){
v[j]=v[st]+pre[j];
// cout<<v[j]<<endl;
}
}
f[st]=1;
int k,s;
for(int z=1;z<n;z++){
// i=1;
int mi=inf;
k=0;
for(int j=0;j<n;j++){
if(!f[j]&&dis[j]<mi){
k=j;
mi=dis[j];
}
}
f[k]=1;
for(int j=0;j<n;j++){
if(!f[j]){
if(dis[j]>dis[k]+d[k][j]){
dis[j]=dis[k]+d[k][j];
v[j]=v[k]+pre[j];
}
}
}
for(int j=0;j<n;j++){
if(dis[j]==dis[k]+d[k][j])
v[j]=max(v[j],pre[j]+v[k]);
}
}
if(st==en) dis[en]=0;
cout<<dis[en]<<" "<<v[en]<<endl;
}
相關文章
- 自動走迷宮小遊戲~遊戲
- 內容是超正統的迷宮RPG?PSP遊戲《迷宮旅人2》深度解析遊戲
- Python 精靈模組_迷宮房間類遊戲Python遊戲
- JAVA 實現《複雜迷宮》遊戲|CSDN創作打卡Java遊戲
- 走迷宮
- 1744 迷宮
- 509迷宮
- 51nod 3145 扔球遊戲遊戲
- 迷宮問題
- 3090 走迷宮
- 3089 探索迷宮
- 如何用js寫一個簡單的迷宮和打地鼠遊戲JS遊戲
- 簡單介紹Python迷宮生成和迷宮破解演算法Python演算法
- “不可思議迷宮”系列:能玩1000次的RPG與日本遊戲婆羅門遊戲
- 迷宮城堡(HDU-1269)
- PHP 生成迷宮路線PHP
- 迷宮可行路徑數
- Python迷宮生成器Python
- 迷宮的最短路徑
- 創造你的專屬迷宮 《磚塊迷宮建造者》上架WeGameGAM
- 青瓷遊戲宣佈《不思議迷宮》終止與臺服運營商合作遊戲
- 藍橋杯-走迷宮(BFS)
- PHP 解迷宮之 H 最小PHP
- 回溯法求迷宮問題
- POJ3984-迷宮問題
- POJ3984 迷宮問題【BFS】
- 藍橋杯-迷宮(BFS+DFS)
- PHP 解迷宮之 G + H 最小PHP
- hdu 1728 逃離迷宮 搜尋
- 用 Canvas + WASM 畫一個迷宮CanvasASM
- [SDOI2012] 走迷宮 題解
- UOJ #810. 【UNR #7】位元迷宮
- 【ybtoj】【BFS】【例題1】走迷宮
- 解密迷宮問題:三種高效演算法Java實現,讓你輕鬆穿越未知迷宮解密演算法Java
- 我花了一夜用資料結構給女朋友寫個H5走迷宮遊戲資料結構H5遊戲
- 7-12 求迷宮最短通道(整合版)
- 10.16 CW 模擬賽 D. 迷宮(maze)
- 青瓷COO曾祥碩:在《最強蝸牛》《不思議迷宮》背後,我們怎麼做遊戲?遊戲
- 如果宮鬥遊戲玩起了換裝遊戲