#include #include #include #include #include using namespace std; #define TOTAL 9 int magicSqure(vector& vec) { int ret=-1; vector help(9); for(int i=0;i<9;i++){ if(1<=vec[i]&&vec[i]<=9) help[vec[i]-1]++; } for(int i=0;i<9;i++){ if (help[i]!=1) return -1; } return 0; } int fillVec(vector& vec, int i, int j) { vec[4]=5; vec[0]=i; vec[1]=j; vec[2]=15-vec[0]-vec[1]; vec[6]=15-vec[2]-vec[4]; vec[3]=15-vec[0]-vec[6]; vec[5]=15-vec[3]-vec[4]; vec[7]=15-vec[4]-vec[1]; vec[8]=15-vec[4]-vec[0]; return magicSqure(vec); } int distance(vector vec1,vector vec2) { int ret=0; for(int i=0;i<9;i++) { int tmp=vec1[i]-vec2[i]; if (tmp<0) ret=ret-tmp; else ret=ret+tmp; } return ret; } int main() { vector val(TOTAL); int ret=1000; int index=0; string str; int tmp; for(int k=0;k<9;k++){ cin>>tmp; val[k]=tmp; } int index_0,index_1; for(index_0=1;index_0<10;index_0++){ for(index_1=1;index_1<10;index_1++){ vector vectmp(9); if((index_0==5)||(index_1==5)) continue; if(fillVec(vectmp,index_0,index_1)==0){ //cout<distance(vectmp,val)) ret=distance(vectmp,val); } } } cout<