#include #include void imprime_tabuleiro(int r0, int r1, int r2){ for(int i = 0; i < 3; i++){ if(r0 == i) printf("R "); else printf("_ "); } printf("\n"); for(int i = 0; i < 3; i++){ if(r1 == i) printf("R "); else printf("_ "); } printf("\n"); for(int i = 0; i < 3; i++){ if(r2 == i) printf("R "); else printf("_ "); } printf("\n"); } //RESOLVE O PROBLEMA DAS 3 RAINHAS //MAS o problema nao tem solucao //exercicio: adaptar para o problema das 4 rainhas //e verificar todas as solucoes possiveis (spoiler: sao 2) int main(int argc, char * argv[]){ for(int r0 = 0; r0 < 4; r0++){ for(int r1 = 0; r1 < 4; r1++){ for(int r2 = 0; r2 < 4; r2++){ //verifica se se atacam na coluna if(r0 == r1 || r0 == r2 || r1 == r2) continue; } //verificar se se atacam na diagonal //ENTRE r0 e r1 if(r0 == r1 + 1 || r0 == r1 - 1){ continue; } //ENTRE r0 e r2 if(r0 == r2 + 2 || r0 == r2 - 2){ continue; } //ENTRE r1 e r2 if(r1 == r2 + 1 || r1 == r2 - 1){ continue; } imprime_tabuleiro(r0, r1, r2); } } } return 0; }