ผลต่างระหว่างรุ่นของ "Algo lab/slot"

จาก Theory Wiki
ไปยังการนำทาง ไปยังการค้นหา
(สร้างหน้าด้วย "== Explicit rotation == <syntaxhighlight lang="c++"> #include <iostream> using namespace std; const int N = 4; int table[N][N]; void read_input() {...")
 
 
แถว 34: แถว 34:
 
     for(int a2 = 0; a2 < 4; a2++)
 
     for(int a2 = 0; a2 < 4; a2++)
 
       for(int a3 = 0; a3 < 4; a3++) {
 
       for(int a3 = 0; a3 < 4; a3++) {
rotate(1,a1);
+
        rotate(1,a1);
rotate(2,a2);
+
        rotate(2,a2);
rotate(3,a3);
+
        rotate(3,a3);
  
int sc = compute_score();
+
        int sc = compute_score();
if(sc > mx)
+
        if(sc > mx)
  mx = sc;
+
          mx = sc;
  
rotate(1,4 - a1);
+
        rotate(1,4 - a1);
rotate(2,4 - a2);
+
        rotate(2,4 - a2);
rotate(3,4 - a3);
+
        rotate(3,4 - a3);
 
       }  
 
       }  
 
}
 
}

รุ่นแก้ไขปัจจุบันเมื่อ 04:46, 26 สิงหาคม 2567

Explicit rotation

#include <iostream>

using namespace std;

const int N = 4;

int table[N][N];

void read_input()
{
  for(int r = 0; r < N; r++)
    for(int c = 0; c < N; c++)
      cin >> table[r][c];
}

void rotate(int c, int a)
{
}

int compute_score()
{
  return 0;
}

int main()
{
  read_input();
  int mx = 0;
  
  for(int a1 = 0; a1 < 4; a1++)
    for(int a2 = 0; a2 < 4; a2++)
      for(int a3 = 0; a3 < 4; a3++) {
        rotate(1,a1);
        rotate(2,a2);
        rotate(3,a3);

        int sc = compute_score();
        if(sc > mx)
          mx = sc;

        rotate(1,4 - a1);
        rotate(2,4 - a2);
        rotate(3,4 - a3);
      } 
}

Implicit rotation

#include <iostream>

using namespace std;

const int N = 4;

int table[N][N];

void read_input()
{
  for(int r = 0; r < N; r++)
    for(int c = 0; c < N; c++)
      cin >> table[r][c];
}

int compute_score(int a0, int a1, int a2, int a3)
{
  return 0;
}

int main()
{
  read_input();
  int mx = 0;
  
  for(int a1 = 0; a1 < 4; a1++)
    for(int a2 = 0; a2 < 4; a2++)
      for(int a3 = 0; a3 < 4; a3++) {
        int sc = compute_score(0,a1,a2,a3);
        if(sc > mx)
          mx = sc;
      } 
}