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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

ZOJ 3781 Paint the Grid Reloaded

發布時間:2025/3/21 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 ZOJ 3781 Paint the Grid Reloaded 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

枚舉,$BFS$,連通塊縮點。

可以枚舉一開始染哪個位置,然后逐層往外染色,看最多需要多少操作次數,也就是算最短距離。連通塊縮點之后可以保證是一個黑白相間的圖,且每條邊的費用均為$1$,$BFS$即可。

#include<cstdio> #include<queue> #include<algorithm> #include<vector> #include<cstring> using namespace std;int T,n,m; char s[50][50]; int Belong[50][50],block,use[50*50]; int dx[]={0,0,-1,1}; int dy[]={1,-1,0,0};int h[50*50]; struct Edge {int from,to,nx; }e[100000]; int sz;bool ok(int x,int y) {if(x>=0&&x<n&&y>=0&&y<m) return 1;return 0; }void dfs(int x,int y) {Belong[x][y]=block;if(ok(x-1,y)&&s[x][y]==s[x-1][y]&&Belong[x-1][y]==0) dfs(x-1,y);if(ok(x+1,y)&&s[x][y]==s[x+1][y]&&Belong[x+1][y]==0) dfs(x+1,y);if(ok(x,y-1)&&s[x][y]==s[x][y-1]&&Belong[x][y-1]==0) dfs(x,y-1);if(ok(x,y+1)&&s[x][y]==s[x][y+1]&&Belong[x][y+1]==0) dfs(x,y+1); }void add(int x,int y) {e[sz].from=x; e[sz].to=y; e[sz].nx = h[x];h[x]=sz++; }int main() {scanf("%d",&T);while(T--){scanf("%d%d",&n,&m);for(int i=0;i<n;i++) scanf("%s",s[i]);memset(Belong,block=0,sizeof Belong);sz=0;memset(h,0xff,sizeof(h));for(int i=0;i<n;i++){for(int j=0;j<m;j++){if(Belong[i][j]) continue;block++; dfs(i,j);}}for(int i=0;i<n;i++){for(int j=0;j<m;j++){for(int k=0;k<4;k++){int x=i+dx[k];int y=j+dy[k];if(!ok(x,y)) continue;if(Belong[i][j]==Belong[x][y]) continue;add(Belong[i][j],Belong[x][y]);}}}int ans=0x7fffffff;for(int i=1;i<=block;i++){memset(use,-1,sizeof(use));int mx=0;use[i]=0;queue<int>q;q.push(i);while(!q.empty()){int x=q.front();q.pop();for(int j=h[x];j!=-1;j=e[j].nx){int y=e[j].to;if(use[y]!=-1) continue;use[y]=use[x]+1;mx=max(use[y],mx);q.push(y);}}ans=min(mx,ans);}printf("%d\n",ans);}return 0; }

?

轉載于:https://www.cnblogs.com/zufezzt/p/6561761.html

總結

以上是生活随笔為你收集整理的ZOJ 3781 Paint the Grid Reloaded的全部內容,希望文章能夠幫你解決所遇到的問題。

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

主站蜘蛛池模板: 97超碰色| 成人免费福利 | 亚洲一区二区伦理 | 含羞草一区二区 | 成人在线观 | 亚洲伦理一区二区三区 | 少妇一级淫片免费观看 | 国产精品av一区二区 | 人人人超碰 | 少妇搡bbbb搡bbb搡小说 | 五月六月丁香 | jiizzyou欧美2| 欧美网 | 国产精品永久久久久久久久久 | 亚洲 欧美 日韩系列 | 成年人激情视频 | 亚洲第九页 | 亚洲aⅴ乱码精品成人区 | 久久国产网站 | 狠狠综合久久av一区二区 | 国产无码精品一区二区 | 日本丰满少妇做爰爽爽 | 日本视频免费在线播放 | 天天爽夜夜爽一区二区三区 | 成人影片在线免费观看 | 一级淫片免费 | 欧美真人性野外做爰 | 亚洲天堂第一 | 九九亚洲视频 | 性生活三级视频 | 亚洲色婷婷一区二区三区 | 成年网站 | 日韩爱爱视频 | 久久久久久久久久久网 | 午夜精品福利一区二区蜜股av | 四虎一级片 | 中文字幕在线观看二区 | 无码人妻少妇色欲av一区二区 | 欧美日韩在线直播 | 嘿咻视频在线观看 | 69视频网| 天堂av一区二区三区 | 欧美一级黄 | 久久婷婷视频 | 91热热 | 黄色一级免费大片 | 一级免费av| 日韩图片区 | 天天看夜夜 | 欧美无马 | 国产精品成人Av | 亚洲精品综合在线 | 欧美第五页 | 黑人一区二区三区 | 理论片琪琪午夜电影 | 在线电影一区二区三区 | 国产激情亚洲 | 国产高清视频免费观看 | 中文字幕在线免费观看 | 免费亚洲视频 | 大奶子在线观看 | 免费观看黄色 | 亚洲一区二区三区久久久成人动漫 | a黄色大片 | 狠狠躁夜夜躁人 | 三级全黄做爰在线观看 | 黄色三级免费观看 | 91美女高潮出水 | 日本aa大片 | 亚洲欧洲日本国产 | 久久96视频| 一级毛片基地 | 黄色免费在线观看视频 | 免费的黄色大片 | 大陆av片 | 嫩草研究院在线 | 日本免费看 | 日韩一级二级三级 | 亚洲欧美在线播放 | 日韩精品人妻一区二区中文字幕 | 成人无码视频 | 综合久久综合久久 | 91精品国产成人 | 国产精品熟女一区二区不卡 | 黄色高清免费 | 亚洲天堂第一 | 成人a免费 | 午夜88| 91影院在线播放 | 韩国av一区二区三区 | 小早川怜子一区二区三区 | 毛片久久久久久 | 亚洲瘦老头同性xxxxx | 黄色福利在线观看 | av黄色成人| 久久在草 | 四虎色播 | 国产剧情在线一区 | 中文字幕一区二区久久人妻 |