Buscar

Resolução de sudoku em Java

Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original

Scanner sc = new Scanner(System.in);
 int mat[][] = new int[9][9];
 int n = sc.nextInt();
 int aux3=0;
 
 for(int i=0;i<n;i++){
 boolean v = true;
 // Lendo os números
 for(int j=0;j<9;j++){
 for(int k=0;k<9;k++){
 mat[j][k] = sc.nextInt();
 }
 }
 aux3 = 0;
 //Testando para fixa uma linha e olha para as colunas
 for(int j=0;j<9;j++){
 aux3=0;
 for(int k=0;k<9;k++){
 for(int x=0; x<9;x++){
 if(mat[j][k]==mat[j][x]){
 aux3++;
 if(aux3>1){
 v = false;
 //System.out.println("oi");
 }
 }
 }
 }
 }
 //Testando para fixa uma coluna e olha para as linhas
 aux3 = 0;
 for(int j=0;j<9;j++){
 aux3 = 0;
 for(int k=0;k<9;k++){
 for(int x=0; x<9;x++){
 if(mat[k][j]==mat[x][j]){
 aux3++;
 if(aux3>1){
 v = false;
 //System.out.println("oi");
 }
 }
 }
 }
 }
 
 // Testando para as três primeiras matrizes
 aux3 = 0;
 for(int j=0;j<3;j++){
 for(int k=0;k<3;k++){
 for(int x=0; x<3;x++){
 if(mat[j][k]==mat[j][x]){
 aux3++;
 if(aux3>1){
 v = false;
 // System.out.println("oi");
 }
 }
 }
 }
 }
 aux3 = 0;
 for(int j=0;j<3;j++){
 for(int k=3;k<6;k++){
 for(int x=3; x<6;x++){
 if(mat[j][k]==mat[j][x]){
 aux3++;
 if(aux3>1){
 v = false;
 //System.out.println("oi");
 }
 }
 }
 }
 }
 aux3 = 0;
 for(int j=0;j<3;j++){
 for(int k=6;k<9;k++){
 for(int x=6; x<9;x++){
 if(mat[j][k]==mat[j][x]){
 aux3++;
 if(aux3>1){
 v = false;
 // System.out.println("oi");
 }
 }
 }
 } 
 }
 
 
 // Testando para as três matrizes do meio
 aux3 = 0;
 for(int j=3;j<6;j++){
 for(int k=0;k<3;k++){
 for(int x=0; x<3;x++){
 if(mat[j][k]==mat[j][x] ){
 aux3++;
 if(aux3>1){
 v = false;
 //System.out.println("oi");
 }
 }
 }
 }
 }
 aux3 = 0;
 for(int j=3;j<6;j++){
 for(int k=3;k<6;k++){
 for(int x=3; x<6;x++){
 if(mat[j][k]==mat[j][x]){
 aux3++;
 if(aux3>1){
 v = false;
 //System.out.println("oi");
 }
 }
 }
 }
 }
 aux3 = 0;
 for(int j=3;j<6;j++){
 for(int k=6;k<9;k++){
 for(int x=6; x<9;x++){
 if(mat[j][k]==mat[j][x]){
 aux3++;
 if(aux3>1){
 v = false;
 //System.out.println("oi");
 }
 }
 }
 }
 } 
 
 // Testando para as três ultimas matrizes
 aux3 = 0;
 for(int j=6;j<9;j++){
 for(int k=0;k<3;k++){
 for(int x=0; x<3;x++){
 if(mat[j][k]==mat[j][x]){
 aux3++;
 if(aux3>1){
 v = false;
 //System.out.println("oi");
 }
 }
 }
 }
 }
 aux3 = 0;
 for(int j=6;j<9;j++){
 for(int k=3;k<6;k++){
 for(int x=3; x<6;x++){
 if(mat[j][k]==mat[j][x]){
 aux3++;
 
 }
 }
 }
 if(aux3>1){
 v = false;
 // System.out.println("oi");
 }
 }
 aux3 = 0;
 for(int j=6;j<9;j++){
 for(int k=6;k<9;k++){
 for(int x=6; x<9;x++){
 if(mat[j][k]==mat[j][x]){
 aux3++;
 if(aux3>1){
 v = false;
 // System.out.println("oi");
 }
 }
 }
 }
 }
 
 aux3 = 0;
 
 if(v==true){
 System.out.println("Instancia " + (i+1));
 System.out.println("SIM");
 } else{
 System.out.println("Instancia " + (i+1));
 System.out.println("NAO");
 }
 }

Teste o Premium para desbloquear

Aproveite todos os benefícios por 3 dias sem pagar! 😉
Já tem cadastro?

Continue navegando