bfs 狀壓 朋也與光玉

2021-10-02 11:15:09 字數 1197 閱讀 7589

本來說好了再做一下之前沒寫起的題的,但是看到隊友寫了這道題手還是比較癢,於是就寫了。

——————————————————————————————————————————

這道題和之前寫的拯救大兵很相似,不同點在於這道題沒有任何限制的收集光玉。並且題目中說的不存在環,所以是滿足拓撲序的,而且光玉的數量很少,可以使用狀壓。所以就想到了bfs+狀壓。

因為不知道以哪個點為起點,所以我們直接用超級源點和這些點練了乙個權值為0的邊。然後就是跑拓撲序dp一下就可以了。

#include

//#define int long long

using

namespace std;

typedef pair<

int,

int> pp;

const

int n=

105,m=

1e4+7;

int e[m]

,ne[m]

,head[m]

,w[m]

,cnt,n,m,k;

int a[n]

;const

int t=

1<<14;

int f[n]

[t],vis[n]

[t];

void

add(

int a,

int b,

int c)

queue q;

void

bfs(

int x));

while

(!q.

empty()

)); vis[j]

[tmp]=1

;}}}

}}intmain()

for(

int i=

1;i<=n;i++

)add(0

,i,0);

bfs(0)

;int ans=

0x3f3f3f3f

;for

(int i=

1;i<=n;i++

) ans=

min(ans,f[i][(

1<]);if

(ans==

0x3f3f3f3f

) cout<<

"ushio!"

2018 10 03 迷宮遊戲(狀壓 bfs)

描述 pluto 已經很久沒有玩遊戲了,今天 pluto 難得能夠歇一天。於是,pluto 決定要玩乙個非常好玩的迷宮遊戲。這個迷宮遊戲在乙個 n 行 m 列的矩陣上進行,遊戲中的任意時刻不能走出這個矩陣。在這個矩陣中,有下列幾種元素 表示一塊平地。x 表示一堵牆,不能經過。s 表示遊戲的起點,有且...

HDU 5094 題解(狀壓BFS)

maze 題目中文大意 這個故事發生在 星際迷航 的背景下。星際爭霸 的副隊長史波克落入克林貢的詭計中,被關押在他們的母親星球qo nos上。企業的上尉詹姆斯 t 柯克 james t.kirk 不得不乘宇宙飛船去救他的副手。幸運的是,他偷走了史波克所在的迷宮地圖。迷宮是乙個矩形,它有n行垂直和m列...

bfs 狀壓 Jzoj P2121 分球

description input 輸入檔案包含多組資料。第一行為k,表示資料的總數。每組資料的第一行是n 3 n 7 第二行是2n個盒子的初始狀態。金球用a表示,銀球用b表示,空盒用空格表示。每兩組相鄰資料用空行隔開。output 對於每一組資料,若無解則輸出一行 1,若有解,輸出最少移動次數,相...