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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

奇妙的棋盘(建图+搜索)

發(fā)布時間:2025/3/21 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 奇妙的棋盘(建图+搜索) 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

  數(shù)據(jù)

題目大意:   已經(jīng)很簡潔了

題解:

  把原圖中相同顏色且相鄰的點縮成一個點
  
  若在原圖中,兩個不同顏色的聯(lián)通塊有邊重合
  
  代表可以花費1的代價使得兩個聯(lián)通塊顏色一樣
  
  枚舉第一個操作的點,則在新圖中以它為起點的最長路徑就是當(dāng)前答案
  
  注意,如果終點是黑點,答案要加1
  \[O((n*m)^2)\]


AC代碼

#include <cstdio> #include <queue> #include <map> using namespace std; const int dx[4]={0,0,1,-1}; const int dy[4]={1,-1,0,0}; const int N=75,inf=1e9; int n,m,cnt,tot,ans; int last[N*N],id[N][N],f[N*N],dis[N*N]; bool mp[N*N][N*N]; char ch[N][N]; struct edge{int to,next; }e[(N*N)<<2]; void add_edge(int u,int v){e[++cnt]=(edge){v,last[u]};last[u]=cnt;e[++cnt]=(edge){u,last[v]};last[v]=cnt; } void dfs(int x,int y,int tot){id[x][y]=tot;for(int k=0;k<4;k++){int nx=x+dx[k],ny=y+dy[k];if(1<=nx && nx<=n && 1<=ny && ny<=m && !id[nx][ny] && ch[nx][ny]==ch[x][y])dfs(nx,ny,tot);} } void bfs(int x){for(int i=1;i<=tot;i++)dis[i]=inf;queue<int> q;q.push(x);dis[x]=0;int res=f[x];while(!q.empty()){int u=q.front();q.pop();for(int i=last[u];i;i=e[i].next){int v=e[i].to;if(dis[v]==inf){dis[v]=dis[u]+1;q.push(v);res=max(res,dis[v]+f[v]);}}}ans=min(ans,res); } int main(){scanf("%d%d",&n,&m);for(int i=1;i<=n;i++)scanf("%s",ch[i]+1);for(int i=1;i<=n;i++)for(int j=1;j<=m;j++)if(!id[i][j]){dfs(i,j,++tot);f[tot]=(ch[i][j]=='B');}for(int x=1;x<=n;x++)for(int y=1;y<=m;y++)for(int k=0;k<4;k++){int nx=x+dx[k],ny=y+dy[k];if(1<=nx && nx<=n && 1<=ny && ny<=m)if(id[x][y]!=id[nx][ny] && !mp[id[x][y]][id[nx][ny]]){add_edge(id[x][y],id[nx][ny]);mp[id[x][y]][id[nx][ny]]=1;mp[id[nx][ny]][id[x][y]]=1;}}ans=inf;for(int i=1;i<=tot;i++)bfs(i);printf("%d\n",ans);return 0; }


  作者:skl_win
  出處:https://www.cnblogs.com/shaokele/
  本文版權(quán)歸作者和博客園共有,歡迎轉(zhuǎn)載,但未經(jīng)作者同意必須保留此段聲明,且在文章頁面明顯位置給出原文連接,否則保留追究法律責(zé)任的權(quán)利。

轉(zhuǎn)載于:https://www.cnblogs.com/shaokele/p/9465283.html

總結(jié)

以上是生活随笔為你收集整理的奇妙的棋盘(建图+搜索)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

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

主站蜘蛛池模板: 精品色| 国产视频资源 | 亚洲天堂无吗 | 蜜桃视频在线观看一区二区 | 精品久久人人 | 能看的毛片 | 中文字字幕一区二区三区四区五区 | 裸体毛片 | 天堂网在线资源 | 夜夜狠 | 精品视频免费在线观看 | 国产一级一级 | 草av| 在线观看欧美亚洲 | 亚洲精品视频一区二区三区 | 天堂中文字幕在线观看 | 中文字幕一区不卡 | 亚洲在线一区二区 | 香蕉视频黄色 | 亚洲一区免费在线 | 亚欧洲精品在线视频 | 爱看av在线| 处破女av一区二区 | 丝袜国产在线 | 男生和女生操操 | 九九色九九 | 欧美亚洲日本 | 超级砰砰砰97免费观看最新一期 | 精品动漫一区二区三区在线观看 | 久久久精品中文字幕麻豆发布 | 黄色最新网址 | 亚洲欧美色图 | 羞羞的视频在线观看 | 毛片官网 | 国产色| 色女仆影院 | 欧美理论在线观看 | 草草在线视频 | 你懂的欧美 | 在线视频免费观看你懂的 | 欧美日韩国产亚洲沙发 | 色综合久久av| av国产一区二区 | 最近中文字幕第一页 | 黄色网免费观看 | 一起艹在线观看 | 久久久91视频 | 色老久久| 50度灰在线 | 看免费黄色大片 | 亚洲男人影院 | 中文字幕av在线免费 | 亚洲特级毛片 | 欧美卡一卡二 | 九九热在线免费视频 | 亚洲天堂高清 | 欧美一级特黄视频 | 在线xxxx | 亚洲激情中文字幕 | 国产白丝喷水 | 爆操网站 | 日韩精品在线免费视频 | 天天干天天操天天爽 | 久久艹中文字幕 | 国产叼嘿视频在线观看 | 国产三级麻豆 | 日日骚影院 | 精品国产区一区二 | 免费黄色小视频在线观看 | 草草视频在线播放 | 色综合图片 | 亚洲自拍电影 | 国产精品久久久免费观看 | 伊人久久爱 | 一道本一区二区 | 国产精品美女自拍视频 | 天天干b| av大片免费观看 | 天堂а√在线中文在线 | 欧美婷婷 | 4hu在线观看 | 久久亚洲精品国产 | 日本亲子乱子伦xxxx | 中文字幕第十一页 | 免费在线看黄色 | av成人免费观看 | 小日子的在线观看免费第8集 | 天堂成人在线 | 国产婷婷一区二区三区久久 | 国产精品第5页 | 久久这里只有精品6 | 欧美视频一区二区三区四区 | 欧美黄色免费大片 | 精久久| 日本色悠悠 | 成人午夜激情视频 | 欧美日韩福利视频 | 性欧美jzjz2 九草影院 | 亚洲精品视屏 |