日韩性视频-久久久蜜桃-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ò),歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 欧美大片免费在线观看 | 18成人免费观看视频 | 神马午夜伦 | 日本免费在线视频 | 88国产精品视频一区二区三区 | 91精彩视频在线观看 | 超碰在线天天 | 综合免费视频 | 丰满雪白极品少妇流白浆 | 自由成熟xxxx色视频 | 怡红院久久 | 日韩黄色a级片 | 特级精品毛片免费观看 | 免费看黄色的网址 | 人妻无码中文久久久久专区 | 亚洲理论中文字幕 | 色狠狠一区二区三区香蕉 | 福利小视频在线观看 | www四虎精品视频免费网站 | 99热精品国产 | 久久xx| 九七伦理电影 | 91黄色小网站 | 国产精品一区二区久久毛片 | 泽村玲子av | 亚洲逼| 国产精品理论片在线观看 | 内射国产内射夫妻免费频道 | gav久久| 午夜草逼| 红桃视频一区 | 五月天丁香在线 | 欧美经典一区 | 亚洲一区二区三区精品视频 | 久久久久久久久久电影 | 91精品视频免费观看 | 国产人妖在线视频 | 中出精品 | 美女屁股眼视频网站 | 黄色片www | 亚洲精品在线不卡 | 日本v片 | 日本内谢少妇xxxxx少交 | 欧美日韩中文在线 | 色久阁 | 好吊操视频这里只有精品 | 在线播放日韩 | 91干| 亚洲av色区一区二区三区 | 四虎久久久久 | 久久亚洲欧美 | 亚洲第一第二区 | 久草免费在线视频 | 成人二三区 | 欧美无吗| 欧美性生活视频 | 可以免费看的av毛片 | 懂色av中文一区二区三区天美 | 九九日韩 | 很很干很很日 | 波多野结衣av一区二区全免费观看 | 韩国三级做爰视频 | 色播在线| 91精品国产成人www | 亚洲AV无码成人精品区先锋 | 香蕉久草 | 欧美日韩国产三级 | 97视频国产 | 91丝袜美女| 精彩视频一区二区三区 | 日本我不卡 | 精品无码久久久久 | 中文在线a∨在线 | aaa国产精品 | 寂寞人妻瑜伽被教练日 | 老太太av | 在线观看91视频 | 亚洲av无码国产精品久久不卡 | 国产精选久久久 | 爱爱91| 精品动漫一区二区 | 久久久久久久久久久电影 | 国产污污视频 | 日韩av资源网 | 精品国产一级久久 | 日韩av一二三区 | 97影院 | mm视频在线观看 | 69视频在线 | 自拍偷拍亚洲区 | 欧美日韩中文字幕在线 | 亚洲另类春色 | 亚洲开心网 | 又黄又刺激的视频 | 国产在线看一区 | 污污视频网站免费观看 | 亚洲女同一区 | 91在线不卡| 中文字幕蜜臀 |