Oil Deposits 石油储量
生活随笔
收集整理的這篇文章主要介紹了
Oil Deposits 石油储量
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
GeoSurvComp地質(zhì)調(diào)查公司負(fù)責(zé)檢測(cè)地下石油礦床。GeoSurvComp 一次處理一個(gè)大的矩形土地區(qū)域,并創(chuàng)建一個(gè)網(wǎng)格,將土地劃分為多個(gè)方形地塊。然后,它分別分析每個(gè)地塊,使用傳感設(shè)備確定該地塊是否含有石油。含有油的地塊稱為口袋。如果兩個(gè)口袋相鄰,則它們是同一油沉積物的一部分。油沉積物可能相當(dāng)大,可能包含許多口袋。您的工作是確定網(wǎng)格中包含多少種不同的油藏。
?
輸入
輸入包含一個(gè)或多個(gè)網(wǎng)格。每個(gè)網(wǎng)格都以一條包含 m 和 n 的線開(kāi)頭,m 和 n 是網(wǎng)格中的行數(shù)和列數(shù),由單個(gè)空格分隔。如果m = 0,則表示輸入結(jié)束;否則 1 <= m <= 100 和 1 <= n <= 100。在此之后是 m 行,每行包含 n 個(gè)字符(不計(jì)算行尾字符)。每個(gè)字符對(duì)應(yīng)于一個(gè)圖,并且是"*",表示沒(méi)有油,或"@",表示油袋。?
輸出
在水平、垂直或?qū)蔷€上相鄰。一個(gè)油沉積物不會(huì)包含超過(guò)100個(gè)口袋。示例輸入
1 1 * 3 5 *@*@* **@** *@*@* 1 8 @@****@* 5 5 ****@ *@@*@ *@**@ @@@*@ @@**@ 0 0示例輸出 0 1 2 2 #include<iostream>using namespace std; char num[105][105]; int c, d; int mms(int a,int b) {if(num[a][b]=='*')return 0;else num[a][b]='*';if(a>0)mms(a-1,b);if(b>0)mms(a,b-1);if(a>0&&b>0)mms(a-1,b-1);if(a>0&&b<d)mms(a-1,b+1);if(b<d)mms(a,b+1);if(a<c)mms(a+1,b);if(a<c&&b>0)mms(a+1,b-1);if(a<c&&b<d)mms(a+1,b+1);} int main() {int m,n, i, j ,k,max;while(scanf("%d%d\n", &m, &n)!=EOF, m!=0){max=0;c=m;d=n;c--;d--;for(i=0;i<m;i++)gets(num[i]);for(i=0;i<m;i++)for(j=0;j<n;j++)if(num[i][j]=='@'){mms(i,j);max++;}cout<<max<<endl;}return 0; }總結(jié)
以上是生活随笔為你收集整理的Oil Deposits 石油储量的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: NC集成旺店通使用JSONObject获
- 下一篇: 5-10 公路村村通 (30分)