題目:返回乙個二維整數陣列中最大聯通子陣列的和。
要求:檔案讀入陣列。
結對開發的夥伴:
部落格名:mr.繆
姓名:繆金敏
分析:把二維陣列看成乙個個節點,使用深度優先遍歷,遞迴遍歷所有節點,設乙個變數每訪問一節點加上它的值,這個值與最大值比較,記錄較大值,迴圈完後便是最大值。用檔案輸入流來讀檔案裡存好的行列和陣列。
**:
1執行結果截圖://最大子陣列3 求乙個二維陣列的最大聯通子陣列2//
王文奇 繆金敏2016/4/4
3 #include4 #include5
using
namespace
std;
6#define max 1000078
introw;
9int
col;
10int
graph[max][max];
11bool
v[max][max];
12int
maxsum;
13void bfs(int r, int c, int
num)
1420
if (r != (row - 1
))2129}
30if (r != 0)31
39}40if (c != (col - 1
))4149}
50if (c != 0)51
59}60}
6162
intmain()
6375
76//
cout << "請分別輸入二維陣列的行數和列數:";
77 infile >>row;
78 infile >>col;
79//
cin >> row >> col;
80//
cout << "請輸入二維陣列資料:\n";
81for (int i = 0; i < row; i++)
8287}88
for (int i = 0; i < row; i++)
8994}95
for (int i = 0; i < row; i++)
96103
}104
105 cout << "
二維陣列:\n";
106for (int i = 0; i < row; i++)
107112 cout <
113}
114 cout << "
最大聯通子陣列的和:";
115 cout << maxsum<
116infile.close();
117return0;
118 }
總結:這次的題目比較難,借助了資料結構裡深度優先遍歷的演算法。
專案計畫總結:
時間記錄日誌:
缺陷記錄日誌:
結對作業 最大聯通子陣列
雙人合作空缺,不想照 兩人合作中的過程 首先自己思考,在覺得可行的情況下在紙上講給對方聽,然後互相尋找方法中的錯誤點,然後模擬該方法對陣列求最大聯通子陣列。可行的情況下,把需要實現的每一步寫出來,寫下程式的創造簡略圖,各種方法,然後填補方法 測試程式,修改 最後完成後,測試各種用例。體會 過去一直都...
連通最大子陣列和(結對開發)
題目 返回乙個二維陣列中最大子陣列的和 連通性 設計思路 把數按行分成幾個一維陣列,對於該一維陣列,求出他們的最大連續陣列之和,並且記錄下最大連續陣列的第一位和最後一位的位置,之後判斷幾個一維陣列的最大 連續陣列的位置是否相接或包括 如,第一行是1和4,第二行是3和5,這樣就相連 最後在加上沒有包括...
結對開發首尾相接陣列求子陣列最大和
組員 燕亞峰 20122914 王童博 20122823 一 題目及要求 返回乙個整數陣列中最大子陣列的和 如果陣列a 0 a j 1 首尾相鄰,允許a i 1 a n 1 a 0 a j 1 之和最大 同時返回最大子陣列的位置。二 設計思路 對於這題本想延用一維陣列的方法,不過由於陣列進行了整合,...