APCS 實作題 10510 第2題最大和參考解法
此題在高中生程式解題系統的題號為: https://zerojudge.tw/ShowProblem?problemid=c295 。 解法一,排序為主: 用二維整數陣列(也就是矩陣) d[20][20] 來存放資料。 針對矩陣的每一列(也就是每一群數字)作由小到大排序,而第 i 群數字的最大值會在 d[i][m-1] 位置上。 將每一群的最大數字做加總,儲存在整數變數 sum。 判斷每一群的所挑選出來的數字是否整除 sum。 使用 flag 來判斷這 n 群是否有一群以上的數字可整除 sum。 C++ 程式碼: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 #include <iostream> #include <algorithm> using namespace std; int main ( void ) { int d[ 20 ][ 20 ] = { 0 }; // 用二維整數陣列(也就是矩陣) d[20][20] 來存放資料。 int n, m; while (cin >> n >> m) // 讀取 n, m { // 讀取每一群的數字 for ( int i = 0 ; i < n; i ++ ) for ( int j = 0 ; j < m; j ++ ) cin >> d[i][j]; // 針對矩陣的每一列(也就是每一群數字)作由小到大排序 for ( int i = 0 ; i < n; i ++ ) sort(d[i], d[i] + m); // 將每一群的最大數字做加總,儲存在整數變數 sum。 ...