for(int[] n:next){                   
 move(threshold,r+n[0],c+n[1],matrix,choose);
}

会重复访问一个格子吧?每重复访问一个格子也temp++