Advertisement
Guest User

Untitled

a guest
Feb 7th, 2023
147
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 11.10 KB | None | 0 0
  1. #include <iostream>
  2.  
  3. int main()
  4. {
  5.     const float Capacity [48] = {1, 2, 3, 4,
  6.                                                5, 6, 7, 8,
  7.                                                9, 10, 11, 12,
  8.                                                13, 14, 15, 16,
  9.                                                17, 18, 19, 20,
  10.                                                21, 22, 23, 24,
  11.                                                25, 26, 27, 28,
  12.                                                29, 30, 31, 32,
  13.                                                33, 33.1, 33.2,  33.3,
  14.                                                34.4, 34.5,  34.6, 34.7,
  15.                                                34.8,  34.9, 35, 35.1,
  16.                                                35.2, 35.3, 35.4, 35.5};
  17.     short int A [12][4];
  18.     short int A01 [36];
  19.     short int A02 [33];
  20.     short int A03 [30];
  21.     short int A04 [27];
  22.     short int A05 [24];
  23.     short int A06 [21];
  24.     short int A07 [18];
  25.     short int A08 [15];
  26.     short int A09 [12];
  27.     short int A10 [9];
  28.     short int A11 [6];
  29.     short int A12 [3];
  30.     short int B [12];
  31.     short int B01, B02, B03, B05, B06, B07,
  32.               B09, B10, B11, B13, B14, B15,
  33.               B17, B18, B19, B21, B22, B23,
  34.                B25, B26, B27, B29, B30, B31,
  35.                B33, B34, B35, B37, B38, B39,
  36.                B41, B42, B43, MIN, MAX, DELTA, MINDELTA;
  37.     float S [12];
  38.     short int I, J, K, n;
  39.  
  40.     MINDELTA = 99999;
  41.     J = 0;
  42.     K = 0;
  43.     n = 48;
  44.     for (I = 0; I < n ; I++)
  45.     {
  46.         if (Capacity[I] < 34)
  47.         {
  48.             A01[J] = I;
  49.             J++;
  50.         }
  51.         else
  52.         {
  53.             B[K] = I;
  54.             K++;
  55.         }
  56.     }
  57.     //n = 36;
  58.     for (B01 = A01[2]; B01<36; B01++)
  59.     for (B02 = A01[1]; B02 < B01; B02++)
  60.     for (B03 = A01[0]; B03 < B02; B03++)
  61.     {
  62.         J = 0;
  63.         for (I = 0; I < 36; I++)
  64.         if ( (B01 != A01[I]) and (B02 != A01[I]) and (B03 != A01[I]))
  65.         {
  66.             A02[J] = A01[I];
  67.             J++;
  68.         }
  69.         // n = 33;
  70.         for (B05 = A02[2]; B05 < 33; B05++)
  71.         for (B06 = A02[1]; B06 < B05; B06++)
  72.         for (B07 = A02[0]; B07 < B06; B07++)
  73.         {
  74.             J = 0;
  75.             for (I = 0; I < 33; I++)
  76.             if ((B05 != A02[I]) and (B06 != A02[I]) and (B07 != A02[I]))
  77.             {
  78.                 A03[J] = A02[I];
  79.                 J++;
  80.             }
  81.             // n = 30;
  82.             for (B09 = A03[2]; B09 < 30; B09++)
  83.             for (B10 = A03[1]; B10 < B09; B10++)
  84.             for (B11 = A03[0]; B11 < B10; B11++)
  85.             {
  86.                 J = 0;
  87.                 for (I=0; I < 30; I++)
  88.                 if ((B09 != A03[I]) and (B10 != A03[I]) and (B11 != A03[I]))
  89.                 {
  90.                     A04[J] = A03[I];
  91.                     J++;
  92.                 }
  93.                 // n = 27
  94.                 for (B13 = A04[2]; B13 < 27; B13++)
  95.                 for (B14 = A04[1]; B14 < B13; B14++)
  96.                 for (B15 = A04[0]; B15 < B14; B15++)
  97.                 {
  98.                     J = 0;
  99.                     for (I = 0; I < 27; I++)
  100.                     if ((B13 != A04[I]) and (B14 != A04[I]) and (B15 != A04[I]))
  101.                     {
  102.                         A05[J] = A04[I];
  103.                         J++;
  104.                     }
  105.                     // n = 24
  106.                     for (B17 = A05[2]; B17 < 24; B17++)
  107.                     for (B18 = A05[1]; B18 < B17; B18++)
  108.                     for (B19 = A05[0]; B19 < B18; B19++)
  109.                     {
  110.                         J = 0;
  111.                         for (I = 0; I < 24; I++)
  112.                         if ((B17 != A05[I]) and (B18 != A05[I]) and (B19 != A05[I]))
  113.                         {
  114.                             A06[J] = A05[I];
  115.                             J++;
  116.                         }
  117.                         // n = 21
  118.                         for (B21 = A06[2]; B21 < 21; B21++)
  119.                         for (B22 = A06[1]; B22 < B21; B22++)
  120.                         for (B23 = A06[0]; B23 < B22; B23++)
  121.                         {
  122.                             J = 0;
  123.                             for (I = 0; I < 21; I++)
  124.                             if ((B21 != A06[I]) and (B22 != A06[I]) and (B23 != A06[I]))
  125.                             {
  126.                                 A07[J] = A06[I];
  127.                                 J++;
  128.                             }
  129.                             // n = 18
  130.                             for (B25 = A07[2]; B25 < 18; B25++)
  131.                             for (B26 = A07[1]; B26 < B25; B26++)
  132.                             for (B27 = A07[0]; B27 < B26; B27++)
  133.                             {
  134.                                 J = 0;
  135.                                 for (I = 0; I < 18; I++)
  136.                                 if ((B25 != A07[I]) and (B26 != A07[I]) and (B27 != A07[I]))
  137.                                 {
  138.                                     A08[J] = A07[I];
  139.                                     J++;
  140.                                 }
  141.                                 // n = 15
  142.                                 for (B29 = A08[2]; B29 < 15; B29++)
  143.                                 for (B30 = A08[1]; B30 < B29; B30++)
  144.                                 for (B31 = A08[0]; B31 < B30; B31++)
  145.                                 {
  146.                                     J = 0;
  147.                                     for (I = 0; I < 15; I++)
  148.                                     if ((B29 != A08[I]) and (B30 != A08[I]) and (B31 != A08[I]))
  149.                                     {
  150.                                         A09[J] = A08[I];
  151.                                         J++;
  152.                                     }
  153.                                     // n = 12
  154.                                     for (B33 = A09[2]; B33 < 12; B33++)
  155.                                     for (B34 = A09[1]; B34 < B33; B34++)
  156.                                     for (B35 = A09[0]; B35 < B34; B35++)
  157.                                     {
  158.                                         J = 0;
  159.                                         for (I = 0; I < 12; I++)
  160.                                         if ((B33 != A09[I]) and (B34 != A09[I]) and (B35 != A09[I]))
  161.                                         {
  162.                                             A10[J] = A09[I];
  163.                                             J++;
  164.                                         }
  165.                                         // n = 9
  166.                                         for (B37 = A10[2]; B37 < 9; B37++)
  167.                                         for (B38 = A10[1]; B38 < B37; B38++)
  168.                                         for (B39 = A10[0]; B39 < B38; B39++)
  169.                                         {
  170.                                             J = 0;
  171.                                             for (I = 0; I < 9; I++)
  172.                                             if ((B37 != A10[I]) and (B38 != A10[I]) and (B39 != A10[I]))
  173.                                             {
  174.                                                 A11[J] = A10[I];
  175.                                                 J++;
  176.                                             }
  177.                                             // n = 6
  178.                                             for (B41 = A11[2]; B41 < 6; B41++)
  179.                                             for (B42 = A11[1]; B42 < B41; B42++)
  180.                                             for (B43 = A11[0]; B43 < B42; B43++)
  181.                                             {
  182.                                                 J = 0;
  183.                                                 for (I = 0; I < 6; I++)
  184.                                                 if ((B41 != A11[I]) and (B42 != A11[I]) and (B43 != A11[I]))
  185.                                                 {
  186.                                                     A12[J] = A11[I];
  187.                                                     J++;
  188.                                                 }
  189.                                                 S[0] = Capacity[B[0]] + Capacity[B01] + Capacity[B02] + Capacity[B03];
  190.                                                 S[1] = Capacity[B[1]] + Capacity[B05] + Capacity[B06] + Capacity[B07];
  191.                                                 S[2] = Capacity[B[2]] + Capacity[B09] + Capacity[B10] + Capacity[B11];
  192.                                                 S[3] = Capacity[B[3]] + Capacity[B13] + Capacity[B14] + Capacity[B15];
  193.                                                 S[4] = Capacity[B[4]] + Capacity[B17] + Capacity[B18] + Capacity[B19];
  194.                                                 S[5] = Capacity[B[5]] + Capacity[B21] + Capacity[B22] + Capacity[B23];
  195.                                                 S[6] = Capacity[B[6]] + Capacity[B25] + Capacity[B26] + Capacity[B27];
  196.                                                 S[7] = Capacity[B[7]] + Capacity[B29] + Capacity[B30] + Capacity[B31];
  197.                                                 S[8] = Capacity[B[8]] + Capacity[B33] + Capacity[B34] + Capacity[B35];
  198.                                                 S[9] = Capacity[B[9]] + Capacity[B37] + Capacity[B38] + Capacity[B39];
  199.                                                 S[10] = Capacity[B[10]] + Capacity[B41] + Capacity[B42] + Capacity[B43];
  200.                                                 S[11] = Capacity[B[11]] + Capacity[A12[0]] + Capacity[A12[1]] + Capacity[A12[2]];
  201.                                                 MIN = S[0];
  202.                                                 MAX = S[0];
  203.                                                 for (I = 1;I < 12; I++)
  204.                                                     if (MIN > S[I])
  205.                                                         MIN = S[I];
  206.                                                     else
  207.                                                         if (MAX < S[I])
  208.                                                             MAX = S[I];
  209.                                                 DELTA = MAX - MIN;
  210.                                                 if (DELTA < MINDELTA)
  211.                                                 {
  212.                                                     A[0][0] = B[0];
  213.                                                     A[0][1] = B01;
  214.                                                     A[0][2] = B02;
  215.                                                     A[0][3] = B03;
  216.                                                     A[1][0] = B[1];
  217.                                                     A[1][1] = B05;
  218.                                                     A[1][2] = B06;
  219.                                                     A[1][3] = B07;
  220.                                                     A[2][0] = B[2];
  221.                                                     A[2][1] = B09;
  222.                                                     A[2][2] = B10;
  223.                                                     A[2][3] = B11;
  224.                                                     A[3][0] = B[3];
  225.                                                     A[3][1] = B13;
  226.                                                     A[3][2] = B14;
  227.                                                     A[3][3] = B15;
  228.                                                     A[4][0] = B[4];
  229.                                                     A[4][1] = B17;
  230.                                                     A[4][2] = B18;
  231.                                                     A[4][3] = B19;
  232.                                                     A[5][0] = B[5];
  233.                                                     A[5][1] = B21;
  234.                                                     A[5][2] = B22;
  235.                                                     A[5][3] = B23;
  236.                                                     A[6][0] = B[6];
  237.                                                     A[6][1] = B25;
  238.                                                     A[6][2] = B26;
  239.                                                     A[6][3] = B27;
  240.                                                     A[7][0] = B[7];
  241.                                                     A[7][1] = B29;
  242.                                                     A[7][2] = B30;
  243.                                                     A[7][3] = B31;
  244.                                                     A[8][0] = B[8];
  245.                                                     A[8][1] = B33;
  246.                                                     A[8][2] = B34;
  247.                                                     A[8][3] = B35;
  248.                                                     A[9][0] = B[9];
  249.                                                     A[9][1] = B37;
  250.                                                     A[9][2] = B38;
  251.                                                     A[9][3] = B39;
  252.                                                     A[10][0] = B[10];
  253.                                                     A[10][1] = B41;
  254.                                                     A[10][2] = B42;
  255.                                                     A[10][3] = B43;
  256.                                                     A[11][0] = B[11];
  257.                                                     A[11][1] = A12[0];
  258.                                                     A[11][2] = A12[1];
  259.                                                     A[11][3] = A12[2];
  260.                                                     MINDELTA = DELTA;
  261.                                                     std::cout << std::endl << "[";
  262.                                                     for (I = 0; I < 12; I++)
  263.                                                     {
  264.                                                         std::cout << "[";
  265.                                                         for (J = 0; J < 3; J++)
  266.                                                             std::cout << A[I, J] << ", ";
  267.                                                         std::cout << A[I, 4] << "]";
  268.                                                         if (I < 11)
  269.                                                             std::cout << ", ";
  270.                                                     }
  271.                                                     std::cout << "]" << std::endl;
  272.                                                 }
  273.                                             }
  274.                                         }
  275.                                     }
  276.                                 }
  277.                             }
  278.                         }
  279.                     }  
  280.                 }
  281.             }
  282.         }  
  283.     }
  284.            
  285.     std::cout << "Done!" << std::endl;
  286. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement