先上題目鏈結
注釋寫得多,直接貼**了:
#include
#include
#include
using
namespace std;
intmain()
else
if(ay == by)
}for
(i =
1; i <= k; i++)}
//退出這個迴圈時p為分割最大的線的下標
horizontal[tmp]
=false
;//求出一條分割最多的線後,把這條線的資料清空,進行下一輪的排序
nx[tmp]
=true;}
for(i =
1; i <= l; i++)}
vertical[tmp]
=false
; ny[tmp]
=true;}
for(i =
0; i < m; i++)}
cout << endl;
for(i =
0; i < n; i++)}
delete
horizontal;
delete
vertical;
}
1.
關於動態陣列初始化的內容:
對於內建資料型別元素的陣列,必須使用()來顯示指定程式執行初始化操作,否則程式不執行初始化操作:
int *pia = new int[10]; // 每個元素都沒有初始化
int *pia2 = new int[10] (); // 每個元素初始化為0
類型別元素的陣列,則無論是否使用(),都會自動呼叫其預設建構函式來初始化:
string *psa = new string[10]; // 每個元素呼叫預設建構函式初始化
string *psa = new string10; // 每個元素呼叫預設建構函式初始化
2.
桶排序的基本思想(與這題的horizontal和vertical陣列的使用有相通之處)
**3 ** 注意一種錯誤:監視介面檢視bool型別的值為"true(205)",這個真值的實際數字就是205,用它與true比較會得出不相等的結論。出現該錯誤的原因可能是bool值未宣告就被拿來使用。
洛谷 P1056 排座椅
題目描述 上課的時候總會有一些同學和前後左右的人交頭接耳,這是令小學班主任十分頭疼的一件事情。不過,班主任小雪發現了一些有趣的現象,當同學們的座次確定下來之後,只有有限的d對同學上課時會交頭接耳。同學們在教室中坐成了m行n列,坐在第i行第j列的同學的位置是 i,j 為了方便同學們進出,在教室中設定了...
洛谷P1056 排座椅
上課的時候總會有一些同學和前後左右的人交頭接耳,這是令小學班主任十分頭疼的一件事情。不過,班主任小雪發現了一些有趣的現象,當同學們的座次確定下來之後,只有有限的d對同學上課時會交頭接耳。同學們在教室中坐成了m行n列,坐在第i行第j列的同學的位置是 i,j 為了方便同學們進出,在教室中設定了k條橫向的...
洛谷 P1056 排座椅
題目描述 上課的時候總會有一些同學和前後左右的人交頭接耳,這是令小學班主任十分頭疼的一件事情。不過,班主任小雪發現了一些有趣的現象,當同學們的座次確定下來之後,只有有限的d對同學上課時會交頭接耳。同學們在教室中坐成了m行n列,坐在第i行第j列的同學的位置是 i,j 為了方便同學們進出,在教室中設定了...