中興捧月藍劍之路初賽題目 數房子

2021-07-15 12:07:48 字數 1294 閱讀 2306

中興捧月藍劍之路初賽題目——數房子:為了規劃城市,需要統計房屋數目資訊。方法如下,一張航拍**會被分隔為m*n個小格仔,用數字0或1分別表示某格仔看到的是空地還是屋頂,相鄰的屋頂屬於同一棟房子,位於對角線上的屋頂不屬於同一棟房子(這也符合實際),現在先輸入航拍**的大小(m行n列),再輸入矩形俯檢視的布局,要求我們輸出這塊矩形空地中有多少棟房子

測試用例:

testcase 1:

input:

5 50 0 0 0 0

0 1 0 1 0

0 1 0 1 0

0 1 1 1 0

0 0 0 0 0

expected return value:

testcase 2:

input:

5 61 1 0 0 1 0

0 1 1 1 0 0

1 0 0 1 0 0

0 0 0 0 1 1

0 0 0 0 1 1

expected return value:

4 這道題目其實很簡單,只要用乙個set來存放數值是1的點就可以了我的思路就是,用乙個來set(pair(int,int))存放資料,然後每次找相鄰的要是有就刪掉與這個點相鄰的並且延伸出去也符合相鄰條件的為1的點,然後每刪一次count+1,判斷set是否為空,不為空就再刪一次.

貼**:

#include

#include

using

namespace

std;

bool search(set

int, int>> temp, int num_1, int num_2);

void eras(set

int, int>> &temp, int num_1, int num_2, int m, int n);

int main()

}//這是房屋計數的**

while (!temp.empty())

for (int i = 0; i < m; i++)

delete arr[i];

delete arr;

cout

<<"房屋數量為"

<< count << endl;

}return0;}

bool search(set

int, int>> temp, int num_1, int num_2)

void eras(set

int, int>> &temp, int num_1, int num_2, int m, int n)

No 4 中興捧月競賽總結

今天天熱,就睡實驗室了,開著空調。夜裡,沒心情睡覺,今天中興程式競賽複賽結果已出,沒能殺進決賽,有點小遺憾。但回想起來,從 4月份開始,經歷組隊,預賽選拔,初賽,複賽,一路走來還是深有感觸。個人而言,對任何事如果說只注重過程,不關注結果,那絕對是一句安慰人的話。凡事盡力而為之,盡力求得更好結果。旅程...

2019中興捧月演算法大賽歷程

題目是網路流量均衡。再頻寬限制的圖中求不同請求頻寬的各條業務的最短路徑使總成本最小。解題思路 對業務進行排序,優先順序高的業務去走熱點鏈路,優先順序低的業務發現熱點鏈路已經達到頻寬上限就繞路而行。嘗試過按請求頻寬大小降序排序業務,效果並不理想。後來按在不限制頻寬的圖中求得的最短路徑跳數公升序排序提公...

中興捧月大賽之經驗教訓總結(上)

參加這個比賽的過程中,自己也摸索和學習了很多新的知識,特別是網路程式設計這塊,以前學得太簡單,這次到了前所未有的學習深度。這裡一併總結一下。技術要點 1.c語言實現簡單資料結構。由於大賽要求必須在c環境下,而且不允許用第三方庫,所以必須在編碼實現方案之前,實現一些可能用到的資料結構,包括雙鏈表,ma...