Algo lab/slot
ไปยังการนำทาง
ไปยังการค้นหา
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;
}
}