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

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

JZOJ 1637. 【ZJOI2009】狼和羊的故事

發(fā)布時(shí)間:2025/3/15 编程问答 18 豆豆
生活随笔 收集整理的這篇文章主要介紹了 JZOJ 1637. 【ZJOI2009】狼和羊的故事 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

Description

  “狼愛(ài)上羊啊愛(ài)的瘋狂,誰(shuí)讓他們真愛(ài)了一場(chǎng);狼愛(ài)上羊啊并不荒唐,他們說(shuō)有愛(ài)就有方向......”
  Orez聽(tīng)到這首歌,心想:狼和羊如此和諧,為什么不嘗試羊狼合養(yǎng)呢?說(shuō)干就干!
  Orez的羊狼圈可以看作一個(gè)n*m個(gè)矩陣格子,這個(gè)矩陣的邊緣已經(jīng)裝上了籬笆。可是Drake很快發(fā)現(xiàn)狼再怎么也是狼,它們總是對(duì)羊垂涎三尺,那首歌只不過(guò)是一個(gè)動(dòng)人的傳說(shuō)而已。所以O(shè)rez決定在羊狼圈中再加入一些籬笆,還是要將羊狼分開來(lái)養(yǎng)。
  通過(guò)仔細(xì)觀察,Orez發(fā)現(xiàn)狼和羊都有屬于自己領(lǐng)地,若狼和羊們不能呆在自己的領(lǐng)地,那它們就會(huì)變得非常暴躁,不利于他們的成長(zhǎng)。
  Orez想要添加籬笆的盡可能的短。當(dāng)然這個(gè)籬笆首先得保證不能改變狼羊的所屬領(lǐng)地,再就是籬笆必須修筑完整,也就是說(shuō)必須修建在單位格子的邊界上并且不能只修建一部分。

Input

  輸入數(shù)據(jù)存放在文本文件ws.in中。
  文件的第一行包含兩個(gè)整數(shù)n和m。接下來(lái)n行每行m個(gè)整數(shù),1表示該格子屬于狼的領(lǐng)地,2表示屬于羊的領(lǐng)地,0表示該格子不是任何一只動(dòng)物的領(lǐng)地。

Output

  輸出數(shù)據(jù)存放在文本文件ws.out中。
  文件中僅包含一個(gè)整數(shù)ans,代表籬笆的最短長(zhǎng)度。

Sample Input

2 2
2 2
1 1

Sample Output

2

Data Constraint

Hint

【數(shù)據(jù)范圍】

  10%的數(shù)據(jù) n,m≤3
  30%的數(shù)據(jù) n,m≤20
  100%的數(shù)據(jù) n,m≤100

Solution

  • 挖掘柵欄的本質(zhì):只能建在相鄰兩個(gè),且建好后使得狼和羊之間不存在通路

  • 而割的定義是:使 S 集和 T 集不存在通路。而題目又要求建的柵欄最少,于是就是最小割問(wèn)題了。

  • 從源點(diǎn)向所有狼連一條 + 的邊,從所有羊向匯點(diǎn)連一條 + 的邊,

  • 這樣就能保證狼和羊都在不同的點(diǎn)集里。

  • 然后再?gòu)睦堑较噜彽难蚝涂盏?#xff0c;空地到相鄰的空地和羊連一條流量為1的邊,最大流求最小割即可。

Code

#include<cstdio> #include<cctype> using namespace std; const int N=101,M=N*N,inf=1e9,way[4][2]={{1,0},{0,1},{0,-1},{-1,0}}; int s,t,n,m,p,num,ans,tot=1; int first[M],next[M<<3],en[M<<3],w[M<<3]; int dis[M],gap[M],cur[M],a[N][N],b[N][N]; inline int read() {int X=0,w=0; char ch=0;while(!isdigit(ch)) w|=ch=='-',ch=getchar();while(isdigit(ch)) X=(X<<3)+(X<<1)+(ch^48),ch=getchar();return w?-X:X; } inline int min(int x,int y) {return x<y?x:y; } inline void insert(int x,int y,int z) {next[++tot]=first[x];first[x]=tot;en[tot]=y;w[tot]=z; } inline int sap(int x,int y) {if(x==t) return y;int use=0;for(int i=cur[x];i;i=next[i])if(w[i] && dis[x]==dis[en[i]]+1){cur[x]=i;int sum=sap(en[i],min(w[i],y-use));use+=sum,w[i]-=sum,w[i^1]+=sum;if(use==y || dis[s]>p) return use;}cur[x]=first[x];if(!--gap[dis[x]]) dis[s]=p+1;gap[++dis[x]]++;return use; } int main() {n=read(),m=read();for(int i=1;i<=n;i++)for(int j=1;j<=m;j++) a[i][j]=read(),b[i][j]=++num;s=num+1,t=num+2;for(int i=1;i<=n;i++)for(int j=1;j<=m;j++)if(a[i][j]<2)for(int k=0;k<4;k++){int x=i+way[k][0],y=j+way[k][1];if(x<1 || x>n || y<1 || y>m || a[x][y]==1) continue;insert(b[i][j],b[x][y],1);insert(b[x][y],b[i][j],0),p++;}for(int i=1;i<=n;i++)for(int j=1;j<=m;j++)if(a[i][j]==1) insert(s,b[i][j],inf),insert(b[i][j],s,0),p++; elseif(a[i][j]==2) insert(b[i][j],t,inf),insert(b[i][j],t,0),p++;for(int i=1;i<=num;i++) cur[i]=first[i];gap[0]=p;while(dis[s]<=p) ans+=sap(s,inf);printf("%d",ans);return 0; }

總結(jié)

以上是生活随笔為你收集整理的JZOJ 1637. 【ZJOI2009】狼和羊的故事的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 哪里可以看毛片 | 日韩av三区 | 激情三级在线 | 日本成人在线免费 | 岛国伊人| 成人综合激情网 | 欧美无砖专区免费 | 五月天校园春色 | jzzijzzij亚洲成熟少妇在线观看 久久久精品人妻一区二区三区 | 久久五月天av | 香蕉视频A | www.黄色 | 黑丝啪啪 | 亚洲自拍偷拍欧美 | 九草视频在线观看 | 青草国产 | 久久新网址 | 在线免费精品 | 欧美黄色一级视频 | 青青草成人免费 | 女生扒开尿口让男生桶 | 蜜臀在线观看 | 黄色91免费版 | 丰满人妻综合一区二区三区 | 亚洲淫欲 | 熟女人妻视频 | 新婚之夜玷污岳丰满少妇在线观看 | 俄罗斯女人裸体性做爰 | 青青草久久久 | 51成人做爰www免费看网站 | 绿帽视频 | 欧美人与性动交α欧美精品 | 久久久久久蜜桃 | 日韩八区 | 草草视频在线免费观看 | 欧美午夜精品久久久 | 欧美日韩在线视频一区二区三区 | 激情网五月| 少妇粉嫩小泬喷水视频www | 国产免费黄色小视频 | 国产一区二区精品在线 | 国产免费午夜 | 亚洲成人黄色在线 | 黄色精品免费 | 麻豆av电影网 | 欧美人妻少妇一区二区三区 | 激情欧美网站 | 亚洲午夜免费视频 | 91极品美女 | 大伊人网 | 久久久久久久女国产乱让韩 | 亚洲天堂网在线观看 | 成人区人妻精品一区二区不卡视频 | 中文字幕一区二区三区乱码不卡 | 国产老熟女一区二区三区 | 中国大陆高清aⅴ毛片 | 日韩作爱视频 | 日本打白嫩屁股视频 | 亚洲免费在线视频 | 伊人色在线视频 | 91麻豆产精品久久久久久 | 好吊妞精品 | 国产精品日韩欧美一区二区三区 | 中文字幕永久在线播放 | 爱啪啪av | 国产主播福利在线 | 国产91看片 | 国产日韩免费视频 | 爱爱的免费视频 | 亚洲日本中文字幕 | 天天天操| 欧美男女交配视频 | 91禁看片 | 日本乱码视频 | 国产在线你懂得 | 免费在线观看黄色网址 | 国产一区二区三区四区在线观看 | 国产一区二区三区乱码 | 亚洲狠狠丁香婷婷综合久久久 | 丝袜美腿亚洲综合 | 中文字幕av资源 | 操操操免费视频 | 污网站免费在线观看 | 婷婷久久精品 | 久草精品在线观看视频 | 国产又大又长又粗 | 极品人妻一区二区 | 露脸丨91丨九色露脸 | 女性女同性aⅴ免费观女性恋 | 99免费在线 | 国产精品一区一区三区 | 亚洲天堂v | 亚洲成色www久久网站 | 熟女一区二区三区四区 | 91精品国产高清一区二区三区蜜臀 | 中文字幕亚洲一区二区三区 | 国产视频福利在线观看 | 足疗店女技师按摩毛片 | 外国电影免费观看高清完整版 |