We use cookies to ensure you have the best browsing experience on our website. Please read our cookie policy for more information about how we use cookies.
// All eight possible magic squaresstaticconstvector<vector<int>>squares[8]={{{8,3,4},{1,5,9},{6,7,2}},{{6,7,2},{1,5,9},{8,3,4}},{{4,3,8},{9,5,1},{2,7,6}},{{2,7,6},{9,5,1},{4,3,8}},{{6,1,8},{7,5,3},{2,9,4}},{{2,9,4},{7,5,3},{6,1,8}},{{8,1,6},{3,5,7},{4,9,2}},{{4,9,2},{3,5,7},{8,1,6}}};intcomputeCost(constvector<vector<int>>&a,constvector<vector<int>>&b){intcost=0;for(inti=0;i<3;i++){for(intj=0;j<3;j++){cost+=abs(a[i][j]-b[i][j]);}}returncost;}intformingMagicSquare(vector<vector<int>>s){intminCost=computeCost(s,squares[0]);for(inti=1;i<8;i++){intc=computeCost(s,squares[i]);if(c<minCost)minCost=c;}returnminCost;}
Cookie support is required to access HackerRank
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 →
Probably the simplest solution you could think of