三維最短路

2021-10-02 07:57:39 字數 2229 閱讀 2691

傳送門:jelly

題意:在n * n * n的三維空間中每個點上都有乙個好果凍或乙個壞果凍。計算在不吃壞果凍的前提下,從(1,1,1)到(n,n,n)最少需要吃多少好果凍。

做法:每個有好果凍的點與上下左右前後有好果凍的點有可達邊。用spfa即可。

#include

using

namespace std;

const

int maxn=

110;

const

int inf=

0x3f3f3f3f

;char g[maxn]

[maxn]

[maxn]

;bool vis[maxn]

[maxn]

[maxn]

;int d[maxn]

[maxn]

[maxn]

;int x=

;int y=

;int z=

;int n;

bool

check

(int x,

int y,

int z)

struct ac

;int inq[maxn]

[maxn]

[maxn]

;void

spfa()

);inq[1]

[1][

1]=true

; d[1]

[1][

1]=1

;while

(!q.

empty()

)); inq[vx]

[vy]

[vz]

=true;}

}}}}

intmain()

}spfa()

;if(d[n]

[n][n]

!=inf)

cout<[n][n]

cout<<

"-1"

}

傳送門:dungeon master

題意:.為可以走的點,#為不可以走的,求是否可以從s到e,若可以最少要走多少次。

#include

#include

#include

#include

using

namespace std;

const

int maxn=

110;

const

int inf=

0x3f3f3f3f

;char g[maxn]

[maxn]

[maxn]

;bool vis[maxn]

[maxn]

[maxn]

;int d[maxn]

[maxn]

[maxn]

;int x=

;int y=

;int z=

;int n,m,p;

bool

check

(int x,

int y,

int z)

struct ac

;int inq[maxn]

[maxn]

[maxn]

;int sx,sy,sz,ex,ey,ez;

void

spfa()

);inq[sx]

[sy]

[sz]

=true

; d[sx]

[sy]

[sz]=0

;while

(!q.

empty()

)); inq[vx]

[vy]

[vz]

=true;}

}}}}

intmain()

if(g[i]

[j][k]

=='e')}

}}spfa()

;if(d[ex]

[ey]

[ez]

!=inf)

cout<<

"escaped in "

<[ey]

[ez]

<<

" minute(s)."

cout<<

<}return0;

}

歐濤最短路 (三維座標)

已知了飛行器的起點和終點以及n個休息站的座標,問起點到終點的最短路徑是多少?限制 飛行器不能長期飛行,必須中途在某結點下停下休息。即連續飛行距離應不大於m 歐濤師兄很想在師妹面前大展身手,你能幫助他解決這個問題嗎?第一行輸入兩個數,整數n和浮點數m 第二行輸入六個浮點數x1,y1,z1,x2,y2,...

二維最短路

三元組用map int,int set 儲存 可以通過前繼pre和當前節點u找到下乙個v,使得 pre,u,v 在三元組中的節點 include include include include include include include include include define mem a,...

三維座標 偏轉 天津三維掃瞄

三維掃瞄的概念及儀器種類 三維掃瞄是指集光 機 電和計算機技術於一體的高新技術,主要用於對物體空間外形和結構及色彩進行掃瞄,以獲得物體表面的空間座標。它的重要意義在於能夠將實物的立體資訊轉換為計算機能直接處理的數碼訊號,為實物數位化提供了相當方便快捷的手段。三維掃瞄技術能實現非接觸測量,且具有速度快...