#include #include #include #include #define MAX 100000 int isMagic(int s[3][3]){ int sum=s[0][0]+s[0][1]+s[0][2]; int i; for(i=1;i<3;i++){ if (sum!=s[i][0]+s[i][1]+s[i][2]) return 0; } for(i=0;i<3;i++){ if (sum!=s[0][i]+s[1][i]+s[2][i]) return 0; } if (sum!=s[0][0]+s[1][1]+s[2][2]) return 0; if (sum!=s[2][0]+s[1][1]+s[0][2]) return 0; return 1; } int main() { int magic[24][3]={ {2,7,6}, {9,5,1}, {4,3,8}, {6,7,2}, {1,5,9}, {8,3,4}, {4,3,8}, {9,5,1}, {2,7,6}, {8,3,4}, {1,5,9}, {6,7,2}, {8,1,6}, {3,5,7}, {4,9,2}, {2,9,4}, {7,5,3}, {6,1,8}, {4,9,2}, {3,5,7}, {8,1,6}, {6,1,8}, {7,5,3}, {2,9,4}, }; int poids[8]={0}; int i=0,j=0,s[3][3]={0}; for(i=0;i<3;i++){ for(j=0;j<3;j++){ scanf("%d",&s[i][j]); } } int k=0,min=72; for(k=0;k<8;k++){ for(i=0;i<3;i++){ for(j=0;j<3;j++){ poids[k]+=abs(s[i][j]-magic[k*3+i][j]); } } if(min>poids[k]) min=poids[k]; } printf("%d",min); }