洛谷P2598 狼和羊的故事

2021-08-15 11:45:10 字數 805 閱讀 9892

輸入格式:

檔案的第一行包含兩個整數n和m。接下來n行每行m個整數,1表示該格仔屬於狼的領地,2表示屬於羊的領地,0表示該格仔不是任何乙隻動物的領地。

輸出格式:檔案中僅包含乙個整數ans,代表籬笆的最短長度。

解析:一看就是最小割.

源點->狼(inf)

狼->羊或空(1)

空->狼或羊(1)

羊->匯點(inf)

要注意的是為了控制流量方向,羊不能往狼上連。

**:#include#include#include#includeusing namespace std;

#define inf 1e9

struct point

e[1000001];

int n,m,num,s,t;

int h[21000],head[21000];

int x[6]=,y[6]=;

int g[2010][2010];

int get(int x,int y)

void add(int from,int to,int dis)

int dfs(int x,int dis)

} }if(!sum)

h[x]=-1;

return sum;

}bool bfs()

} }return h[t];

}int dinic()

int main()

if(g[i][j]==2)

}for(int i=1;i<=n;i++)

for(int j=1;j<=m;j++)

}cout<

洛谷 P2598 狼和羊的故事 最大流

第一次寫這種修籬笆的題目,上次好像曉陽dalao寫了乙個堵人的。好像還有能改變土地屬性的。includeusing namespace std define ll long long dinic begin const int maxn 10100 const int maxm 100010 con...

P2598 ZJOI2009 狼和羊的故事

既可以是一眼題又可以是有些東西的題 一眼就可以看出來,要用最小割把狼和羊分開,那 s 向狼連 inf 羊向 t 連 inf 每個點向周圍連 1,考慮割掉的邊是柵欄 之所以說它有些東西,是應為它可以表示成數學形式,考慮將狼劃分成 0 集合,將羊劃分成 1 集合,沒有歸屬的點隨便 如果兩個點不在同乙個集...

最小割 狼和羊的故事

狼愛上羊啊愛的瘋狂,誰讓他們真愛了一場 狼愛上羊啊並不荒唐,他們說有愛就有方向 orez聽到這首歌,心想 狼和羊如此和諧,為什麼不嘗試羊狼合養呢?說幹就幹!orez的羊狼圈可以看作乙個n m個矩陣格仔,這個矩陣的邊緣已經裝上了籬笆。可是drake很快發現狼再怎麼也是狼,它們總是對羊垂涎三尺,那首歌只...