第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定

搜索——油田合并

標(biāo)簽:
算法

先抛出一个题目:

某石油公司发现了一个油田。该油田由n*m个单元组成的矩形,有些单元里有石油,有些则没有。
单元油田可以通过上,下,左或右连通。在一个单元油田里架设一台采油机,它可以把和该单元
油田相连的单元油田的石油采完。该公司想知道最少需要架设几台采油机能把所有的石油采完?
示例输入:
2 2
@*
*@
2 2
@@
@@
示例输出:
2
1


讲dfs时的第一题,也是特别容易联想到的搜索逻辑。针对于每一个点,都有四种扩展分支

即:当前坐标{-1,0},{0,1},{1,0},{0,-1},然后逐渐深入查找



#include<stdio.h>char map[101][101];int dir[4][2]={{-1,0},{0,1},{1,0},{0,-1}};int n,m,num;int dfs(int x,int y){int a,b,k;map[x][y]='*';for(k=0;k<8;++k){a=x+dir[k][0];b=y+dir[k][1];if(a<n&&a>=0&&b<m&&b>=0&&map[a][b]=='@')dfs(a,b);}return 1;}int main(){int i,j;while(scanf("%d%d",&n,&m)!=EOF){if(n==0) break;num=0;for(i=0;i<n;++i)scanf("%s",&map[i]);for(i=0;i<n;++i)for(j=0;j<m;++j)if(map[i][j]=='@')num+=dfs(i,j);printf("%d\n",num);}return 0;}


深搜的框架并不难,难点在于剪枝的处理,针对于不同题目不同的要求,如何保证搜索的效率使程序不做无用功的搜索是搜索算法的核心。


點(diǎn)擊查看更多內(nèi)容
TA 點(diǎn)贊

若覺得本文不錯,就分享一下吧!

評論

作者其他優(yōu)質(zhì)文章

正在加載中
  • 推薦
  • 評論
  • 收藏
  • 共同學(xué)習(xí),寫下你的評論
感謝您的支持,我會繼續(xù)努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進(jìn)行掃碼打賞哦
今天注冊有機(jī)會得

100積分直接送

付費(fèi)專欄免費(fèi)學(xué)

大額優(yōu)惠券免費(fèi)領(lǐng)

立即參與 放棄機(jī)會
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號

舉報(bào)

0/150
提交
取消