#include #include #include #include #include using namespace std; int getCost(int magic[], int m[]) { int cost = 0; for(int i = 0; i < 9; ++i) { cost += abs(magic[i] - m[i]); } return cost; } int main() { /* Enter your code here. Read input from STDIN. Print output to STDOUT */ // Below are all the possible layouts of magic square int magic[8][9] ={{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}}; int m[9]; for(int i = 0; i < 9; ++i) { cin >> m[i]; } int min = 45; // 45 is sum from 1 to 9 for(int i = 0; i < 8; ++i) { int cost = getCost(magic[i], m); min = (cost < min) ? cost : min; } cout << min << endl; return 0; }