Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- int main()
- {
- const float Capacity [48] = {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, 33.1, 33.2, 33.3,
- 34.4, 34.5, 34.6, 34.7,
- 34.8, 34.9, 35, 35.1,
- 35.2, 35.3, 35.4, 35.5};
- short int A [12][4];
- short int A01 [36];
- short int A02 [33];
- short int A03 [30];
- short int A04 [27];
- short int A05 [24];
- short int A06 [21];
- short int A07 [18];
- short int A08 [15];
- short int A09 [12];
- short int A10 [9];
- short int A11 [6];
- short int A12 [3];
- short int B [12];
- short int B01, B02, B03, B05, B06, B07,
- B09, B10, B11, B13, B14, B15,
- B17, B18, B19, B21, B22, B23,
- B25, B26, B27, B29, B30, B31,
- B33, B34, B35, B37, B38, B39,
- B41, B42, B43, MIN, MAX, DELTA, MINDELTA;
- float S [12];
- short int I, J, K, n;
- MINDELTA = 99999;
- J = 0;
- K = 0;
- n = 48;
- for (I = 0; I < n ; I++)
- {
- if (Capacity[I] < 34)
- {
- A01[J] = I;
- J++;
- }
- else
- {
- B[K] = I;
- K++;
- }
- }
- //n = 36;
- for (B01 = A01[2]; B01<36; B01++)
- for (B02 = A01[1]; B02 < B01; B02++)
- for (B03 = A01[0]; B03 < B02; B03++)
- {
- J = 0;
- for (I = 0; I < 36; I++)
- if ( (B01 != A01[I]) and (B02 != A01[I]) and (B03 != A01[I]))
- {
- A02[J] = A01[I];
- J++;
- }
- // n = 33;
- for (B05 = A02[2]; B05 < 33; B05++)
- for (B06 = A02[1]; B06 < B05; B06++)
- for (B07 = A02[0]; B07 < B06; B07++)
- {
- J = 0;
- for (I = 0; I < 33; I++)
- if ((B05 != A02[I]) and (B06 != A02[I]) and (B07 != A02[I]))
- {
- A03[J] = A02[I];
- J++;
- }
- // n = 30;
- for (B09 = A03[2]; B09 < 30; B09++)
- for (B10 = A03[1]; B10 < B09; B10++)
- for (B11 = A03[0]; B11 < B10; B11++)
- {
- J = 0;
- for (I=0; I < 30; I++)
- if ((B09 != A03[I]) and (B10 != A03[I]) and (B11 != A03[I]))
- {
- A04[J] = A03[I];
- J++;
- }
- // n = 27
- for (B13 = A04[2]; B13 < 27; B13++)
- for (B14 = A04[1]; B14 < B13; B14++)
- for (B15 = A04[0]; B15 < B14; B15++)
- {
- J = 0;
- for (I = 0; I < 27; I++)
- if ((B13 != A04[I]) and (B14 != A04[I]) and (B15 != A04[I]))
- {
- A05[J] = A04[I];
- J++;
- }
- // n = 24
- for (B17 = A05[2]; B17 < 24; B17++)
- for (B18 = A05[1]; B18 < B17; B18++)
- for (B19 = A05[0]; B19 < B18; B19++)
- {
- J = 0;
- for (I = 0; I < 24; I++)
- if ((B17 != A05[I]) and (B18 != A05[I]) and (B19 != A05[I]))
- {
- A06[J] = A05[I];
- J++;
- }
- // n = 21
- for (B21 = A06[2]; B21 < 21; B21++)
- for (B22 = A06[1]; B22 < B21; B22++)
- for (B23 = A06[0]; B23 < B22; B23++)
- {
- J = 0;
- for (I = 0; I < 21; I++)
- if ((B21 != A06[I]) and (B22 != A06[I]) and (B23 != A06[I]))
- {
- A07[J] = A06[I];
- J++;
- }
- // n = 18
- for (B25 = A07[2]; B25 < 18; B25++)
- for (B26 = A07[1]; B26 < B25; B26++)
- for (B27 = A07[0]; B27 < B26; B27++)
- {
- J = 0;
- for (I = 0; I < 18; I++)
- if ((B25 != A07[I]) and (B26 != A07[I]) and (B27 != A07[I]))
- {
- A08[J] = A07[I];
- J++;
- }
- // n = 15
- for (B29 = A08[2]; B29 < 15; B29++)
- for (B30 = A08[1]; B30 < B29; B30++)
- for (B31 = A08[0]; B31 < B30; B31++)
- {
- J = 0;
- for (I = 0; I < 15; I++)
- if ((B29 != A08[I]) and (B30 != A08[I]) and (B31 != A08[I]))
- {
- A09[J] = A08[I];
- J++;
- }
- // n = 12
- for (B33 = A09[2]; B33 < 12; B33++)
- for (B34 = A09[1]; B34 < B33; B34++)
- for (B35 = A09[0]; B35 < B34; B35++)
- {
- J = 0;
- for (I = 0; I < 12; I++)
- if ((B33 != A09[I]) and (B34 != A09[I]) and (B35 != A09[I]))
- {
- A10[J] = A09[I];
- J++;
- }
- // n = 9
- for (B37 = A10[2]; B37 < 9; B37++)
- for (B38 = A10[1]; B38 < B37; B38++)
- for (B39 = A10[0]; B39 < B38; B39++)
- {
- J = 0;
- for (I = 0; I < 9; I++)
- if ((B37 != A10[I]) and (B38 != A10[I]) and (B39 != A10[I]))
- {
- A11[J] = A10[I];
- J++;
- }
- // n = 6
- for (B41 = A11[2]; B41 < 6; B41++)
- for (B42 = A11[1]; B42 < B41; B42++)
- for (B43 = A11[0]; B43 < B42; B43++)
- {
- J = 0;
- for (I = 0; I < 6; I++)
- if ((B41 != A11[I]) and (B42 != A11[I]) and (B43 != A11[I]))
- {
- A12[J] = A11[I];
- J++;
- }
- S[0] = Capacity[B[0]] + Capacity[B01] + Capacity[B02] + Capacity[B03];
- S[1] = Capacity[B[1]] + Capacity[B05] + Capacity[B06] + Capacity[B07];
- S[2] = Capacity[B[2]] + Capacity[B09] + Capacity[B10] + Capacity[B11];
- S[3] = Capacity[B[3]] + Capacity[B13] + Capacity[B14] + Capacity[B15];
- S[4] = Capacity[B[4]] + Capacity[B17] + Capacity[B18] + Capacity[B19];
- S[5] = Capacity[B[5]] + Capacity[B21] + Capacity[B22] + Capacity[B23];
- S[6] = Capacity[B[6]] + Capacity[B25] + Capacity[B26] + Capacity[B27];
- S[7] = Capacity[B[7]] + Capacity[B29] + Capacity[B30] + Capacity[B31];
- S[8] = Capacity[B[8]] + Capacity[B33] + Capacity[B34] + Capacity[B35];
- S[9] = Capacity[B[9]] + Capacity[B37] + Capacity[B38] + Capacity[B39];
- S[10] = Capacity[B[10]] + Capacity[B41] + Capacity[B42] + Capacity[B43];
- S[11] = Capacity[B[11]] + Capacity[A12[0]] + Capacity[A12[1]] + Capacity[A12[2]];
- MIN = S[0];
- MAX = S[0];
- for (I = 1;I < 12; I++)
- if (MIN > S[I])
- MIN = S[I];
- else
- if (MAX < S[I])
- MAX = S[I];
- DELTA = MAX - MIN;
- if (DELTA < MINDELTA)
- {
- A[0][0] = B[0];
- A[0][1] = B01;
- A[0][2] = B02;
- A[0][3] = B03;
- A[1][0] = B[1];
- A[1][1] = B05;
- A[1][2] = B06;
- A[1][3] = B07;
- A[2][0] = B[2];
- A[2][1] = B09;
- A[2][2] = B10;
- A[2][3] = B11;
- A[3][0] = B[3];
- A[3][1] = B13;
- A[3][2] = B14;
- A[3][3] = B15;
- A[4][0] = B[4];
- A[4][1] = B17;
- A[4][2] = B18;
- A[4][3] = B19;
- A[5][0] = B[5];
- A[5][1] = B21;
- A[5][2] = B22;
- A[5][3] = B23;
- A[6][0] = B[6];
- A[6][1] = B25;
- A[6][2] = B26;
- A[6][3] = B27;
- A[7][0] = B[7];
- A[7][1] = B29;
- A[7][2] = B30;
- A[7][3] = B31;
- A[8][0] = B[8];
- A[8][1] = B33;
- A[8][2] = B34;
- A[8][3] = B35;
- A[9][0] = B[9];
- A[9][1] = B37;
- A[9][2] = B38;
- A[9][3] = B39;
- A[10][0] = B[10];
- A[10][1] = B41;
- A[10][2] = B42;
- A[10][3] = B43;
- A[11][0] = B[11];
- A[11][1] = A12[0];
- A[11][2] = A12[1];
- A[11][3] = A12[2];
- MINDELTA = DELTA;
- std::cout << std::endl << "[";
- for (I = 0; I < 12; I++)
- {
- std::cout << "[";
- for (J = 0; J < 3; J++)
- std::cout << A[I, J] << ", ";
- std::cout << A[I, 4] << "]";
- if (I < 11)
- std::cout << ", ";
- }
- std::cout << "]" << std::endl;
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- std::cout << "Done!" << std::endl;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement