import java.util.*; public class Main{ public static void main(String[] args){ Scanner sc = new Scanner(System.in); int n = sc.nextInt(); List<List<Integer>> v0 = new ArrayList<>();//存储各0节点的坐标 List<List<Integer>> v1 = new ArrayList<>();//存储各1节点的坐标 for(int i = 0; i < n; ++i){ for(int j = 0; j < n; ++j){ List<Integer> temp = new ArrayList<>(); temp.add(i); temp.add(j); if(sc.nextInt() == 0) v0.add(temp); else v1.add(temp); } } if(v0.isEmpty()){ System.out.println(-1); return; } int r = Integer.MAX_VALUE;//初始最小距离 for(List<Integer> i : v0){ int res = 0; for(List<Integer> j : v1){//绝对值函数,计算曼哈顿距离 res += Math.abs(i.get(0) - j.get(0)) + Math.abs(i.get(1) - j.get(1)); } if(r > res) r = res; } System.out.println(r); } }