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

歡迎訪問(wèn) 生活随笔!

生活随笔

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

编程问答

Oil Deposits

發(fā)布時(shí)間:2025/3/15 编程问答 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Oil Deposits 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

hdu1241:http://acm.hdu.edu.cn/showproblem.php?pid=1241

題意:就是找出有多少塊有石油的區(qū)域,就是數(shù)組中的@,這邊相鄰指的是是周?chē)陌藗€(gè)位置。

題解:? dfs,從一塊油田的位子開(kāi)始,朝著與他相鄰的8個(gè)方向收索,遇到油田就把它變成不是油田,并往下繼續(xù)。遍歷一下,就知道有多少了

1 #include<iostream> 2 #include<cstring> 3 #include<cstdio> 4 #include<algorithm> 5 using namespace std; 6 char map[102][102]; 7 int m,n; 8 void dfs(int i,int j){ 9 if(i<1||i>m||j<1||j>n) 10 return; 11 if(map[i-1][j]=='@') 12 { map[i-1][j]='*'; 13 dfs(i-1,j); 14 } 15 if(map[i+1][j]=='@') 16 { map[i+1][j]='*'; 17 dfs(i+1,j); 18 } 19 if(map[i][j+1]=='@') 20 { map[i][j+1]='*'; 21 dfs(i,j+1); 22 } 23 if(map[i][j-1]=='@') 24 { map[i][j-1]='*'; 25 dfs(i,j-1); 26 } 27 28 if(map[i+1][j+1]=='@') 29 { map[i+1][j+1]='*'; 30 dfs(i+1,j+1); 31 } 32 if(map[i-1][j+1]=='@') 33 { map[i-1][j+1]='*'; 34 dfs(i-1,j+1); 35 } 36 if(map[i-1][j-1]=='@') 37 { map[i-1][j-1]='*'; 38 dfs(i-1,j-1); 39 } 40 if(map[i+1][j-1]=='@') 41 { map[i+1][j-1]='*'; 42 dfs(i+1,j-1); 43 } 44 45 } 46 int main(){ 47 int count; 48 while(~(scanf("%d%d",&m,&n))&&m!=0){ 49 count=0; 50 memset(map,0,sizeof(map)); 51 for(int i=1;i<=m;i++) 52 for(int j=1;j<=n;j++){ 53 cin>>map[i][j]; 54 } 55 for(int i=1;i<=m;i++) 56 for(int j=1;j<=n;j++) 57 { if(map[i][j]=='@'){ 58 count++; 59 dfs(i,j); 60 } 61 } 62 printf("%d\n",count); 63 } 64 } View Code

?

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

總結(jié)

以上是生活随笔為你收集整理的Oil Deposits的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

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