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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

【网络流24题----09】方格取数问题

發布時間:2023/12/10 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【网络流24题----09】方格取数问题 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

?問題描述:
在一個有m*n 個方格的棋盤中,每個方格中有一個正整數。現要從方格中取數,使任
意2 個數所在方格沒有公共邊,且取出的數的總和最大。試設計一個滿足要求的取數算法。
?編程任務:
對于給定的方格棋盤,按照取數要求編程找出總和最大的數。
?數據輸入:
由文件grid.in提供輸入數據。文件第1 行有2 個正整數m和n,分別表示棋盤的行數
和列數。接下來的m行,每行有n個正整數,表示棋盤方格中的數。
?結果輸出:
程序運行結束時,將取數的最大總和輸出到文件grid.out中。
輸入文件示例 輸出文件示例
grid.in
3 3
??1 2 3

3 2 3

2 3 1

grid.out

11

?

(1<=N,M<=30)


?

對于棋盤黑白染色構出一張二分圖,二分圖最大獨立集。

1 #include<iostream> 2 #include<cstdio> 3 #include<algorithm> 4 #include<vector> 5 #include<cstdlib> 6 #include<cmath> 7 #include<cstring> 8 using namespace std; 9 #define maxn 910 10 #define inf 0x7fffffff 11 #define llg int 12 #define yyj(a) freopen(a".in","r",stdin),freopen(a".out","w",stdout); 13 llg n,m,e[maxn],N,p[10][5],g[50][50],k,tot,se[50][50]; 14 15 struct DINIC 16 { 17 vector<llg>a[maxn],ba[maxn],val[maxn]; 18 llg dl[maxn],deep[maxn],bj[maxn]; 19 20 void insert(llg x,llg y,llg z) 21 { 22 a[x].push_back(y),val[x].push_back(z); 23 a[y].push_back(x),val[y].push_back(0); 24 ba[x].push_back(a[y].size()-1); ba[y].push_back(a[x].size()-1); 25 } 26 27 llg dfs(llg x,llg low) 28 { 29 llg va=0,inc=0; 30 if (x==N) return low; 31 llg w=a[x].size(); 32 for (llg i=0;i<w;i++) 33 if (deep[x]+1==deep[a[x][i]] && val[x][i]>0 && (va=dfs(a[x][i],min(low,val[x][i])))) 34 { 35 val[x][i]-=va; val[a[x][i]][ba[x][i]]+=va; inc+=va; 36 return va; 37 } 38 if (!inc) deep[x]=-1; 39 return 0; 40 } 41 42 void fencen() 43 { 44 llg x,w,v; deep[0]=0; 45 memset(bj,0,sizeof(bj)); 46 llg head=0,tail=1; dl[1]=0; bj[0]=1; 47 do 48 { 49 x=dl[++head]; w=a[x].size(); 50 for (llg i=0;i<w;i++) 51 { 52 v=a[x][i]; 53 if (bj[v] || val[x][i]<=0) continue; 54 dl[++tail]=v; 55 deep[v]=deep[x]+1; bj[v]=1; 56 } 57 }while (head!=tail); 58 } 59 60 llg dinic() 61 { 62 llg ans=0; 63 while (1) 64 { 65 fencen(); 66 if (!bj[N]) break; 67 ans+=dfs(0,inf); 68 } 69 return ans; 70 } 71 72 void oupt() 73 { 74 for (llg i=1;i<=k;i++) 75 { 76 printf("%d: ",i); 77 llg w=a[i].size(); 78 for (llg e=0;e<w;e++) 79 { 80 llg v=a[i][e]; 81 if (v>k && v<N && val[i][e]==0) printf("%d ",v-k); 82 } 83 printf("\n"); 84 } 85 } 86 }G; 87 88 llg ma(llg x,llg y) {return x*m-m+y;} 89 90 void init() 91 { 92 p[1][1]=1,p[2][1]=-1,p[3][2]=1,p[4][2]=-1; 93 cin>>n>>m; 94 N=n*m+1; 95 for (llg i=1;i<=n;i++) 96 for (llg j=1;j<=m;j++) 97 scanf("%d",&g[i][j]),tot+=g[i][j]; 98 for (llg i=1;i<=n;i++) 99 for (llg j=1;j<=m;j++) 100 { 101 for (llg k=1;k<=4;k++) 102 { 103 llg x=i+p[k][1],y=j+p[k][2]; 104 if (x>n || x<1 || y>m || y<1) continue; 105 se[x][y]=(se[i][j]+1)%2; 106 } 107 } 108 for (llg i=1;i<=n;i++) 109 for (llg j=1;j<=m;j++) 110 if (se[i][j]) 111 { 112 for (llg k=1;k<=4;k++) 113 { 114 llg x=i+p[k][1],y=j+p[k][2]; 115 if (x>n || x<1 || y>m || y<1) continue; 116 G.insert(ma(i,j),ma(x,y),inf); 117 } 118 G.insert(0,ma(i,j),g[i][j]); 119 } 120 for (llg i=1;i<=n;i++) 121 for (llg j=1;j<=m;j++) 122 if (!se[i][j]) 123 G.insert(ma(i,j),N,g[i][j]); 124 } 125 126 int main() 127 { 128 yyj("grid"); 129 init(); 130 cout<<tot-G.dinic(); 131 return 0; 132 }

?

轉載于:https://www.cnblogs.com/Dragon-Light/p/6357781.html

總結

以上是生活随笔為你收集整理的【网络流24题----09】方格取数问题的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 狂野欧美性猛交blacked | 国产精品污www在线观看 | 久久婷婷国产麻豆91天堂 | 色在线免费观看 | 小视频在线播放 | 尤物一区| 杂技xxx裸体xxxx欧美 | 国产精品免费入口 | 成人国产av一区二区三区 | 天天综合人人 | 欧美九九| 136福利视频导航 | 国产一区免费在线观看 | 国产高清亚洲 | 伊人888| 裸体裸乳被免费看视频 | 国产乱码精品一区二区三区亚洲人 | 日韩精品一区二区亚洲av性色 | 337p粉嫩大胆噜噜噜噜69影视 | 国产精品视频一区二区三区不卡 | 男女羞羞无遮挡 | 国产99色| 美女插插| 亚洲成人免费av | 国产av电影一区二区 | 中文字幕av免费 | 亚洲午夜18毛片在线看 | 激情伊人网 | 色噜噜狠狠一区二区三区果冻 | 日韩精品在线免费观看视频 | 国产伦精品一区二区三区免费视频 | 一级作爱片| 亚洲成人免费在线 | 在线观看免费毛片 | 国产精品天美传媒入口 | 黄视频国产 | 免费视频福利 | av成人资源 | 欧色图| 免费毛片网站 | 成人在线视频免费观看 | 国产精品原创 | 欧美狠狠爱 | 国产69熟| 国产精品午夜一区二区 | 人妻体内射精一区二区 | 亚洲欧美日韩一区 | 日韩不卡在线视频 | 日韩欧美aⅴ综合网站发布 国产成人一区二区三区小说 | 成人a级大片 | 四虎一级片| 97人妻一区二区精品免费视频 | 亚洲永久精品一区 | 国产亚洲性欧美日韩在线观看软件 | jizz精品 | 欧美国产日本在线 | 亚洲精品二区 | 91在线播放视频 | 禁欲天堂| 91人妻一区二区三区 | 国产美女激情视频 | 亚洲A∨无码国产精品 | 色窝窝无码一区二区三区 | 欧美一区二区三区成人精品 | 99精品毛片 | 欧美五月激情 | 一区二区三区久久 | 不卡欧美 | 欧美亚洲精品一区二区 | 婷婷网址 | 欧美r级在线 | 久久精品男人的天堂 | 人人插人人干 | 中文字幕23 | 特黄特色大片免费视频大全 | 国产高清免费观看 | 日韩中文字幕高清 | 国产亚州av | 亚洲欧洲一级 | 十八禁一区二区三区 | 一本色道久久hezyo无码 | 蜜桃视频网站 | 国产内射一区 | 色欲久久久天天天综合网精品 | 爱情岛论语亚洲入口 | 免费看国产曰批40分钟 | 欧美黄色大片免费看 | 国产 欧美 在线 | 亚洲一区二区三区免费视频 | 久久综合社区 | 欧美日韩免费在线 | 波多野一区 | 91免费播放| 成人动漫一区二区三区 | 午夜免费激情视频 | 福利一二区| 精品视频在线播放 | 亚洲第一在线 | 亚洲av无码一区二区三区人妖 |