You are viewing a single comment's thread. Return to all comments →
JAVA15: import java.util.*;
public class Solution {
// All 8 possible 3x3 magic squares using numbers 1 to 9 private static final int[][][] MAGIC_SQUARES = { {{8, 1, 6}, {3, 5, 7}, {4, 9, 2}}, {{6, 1, 8}, {7, 5, 3}, {2, 9, 4}}, {{4, 9, 2}, {3, 5, 7}, {8, 1, 6}}, {{2, 9, 4}, {7, 5, 3}, {6, 1, 8}}, {{8, 3, 4}, {1, 5, 9}, {6, 7, 2}}, {{4, 3, 8}, {9, 5, 1}, {2, 7, 6}}, {{6, 7, 2}, {1, 5, 9}, {8, 3, 4}}, {{2, 7, 6}, {9, 5, 1}, {4, 3, 8}} }; public static int formingMagicSquare(int[][] s) { int minCost = Integer.MAX_VALUE; for (int[][] magic : MAGIC_SQUARES) { int cost = 0; for (int i = 0; i < 3; i++) { for (int j = 0; j < 3; j++) { cost += Math.abs(s[i][j] - magic[i][j]); } } minCost = Math.min(minCost, cost); } return minCost; } public static void main(String[] args) { Scanner scanner = new Scanner(System.in); int[][] s = new int[3][3]; for (int i = 0; i < 3; i++) { for (int j = 0; j < 3; j++) { s[i][j] = scanner.nextInt(); } } int result = formingMagicSquare(s); System.out.println(result); scanner.close(); }
}
Seems like cookies are disabled on this browser, please enable them to open this website
Forming a Magic Square
You are viewing a single comment's thread. Return to all comments →
JAVA15: import java.util.*;
public class Solution {
}