Problema das N-Rainhas
Edison DantasMarcos ViníciusHumberto MoraisKérisson Falcão
Problema das 8 - Rainhas
Problema das 8 - Rainhas
Problema das 8 - Rainhas
Problema das 8 - Rainhas
Problema das N - Rainhas#define FALSE 0#define TRUE 1 int N; int salvaPosicaoRainha(int linhas[N], int x, int y){ int i; if (y == 0) return 1; for (i=0; i < y; ++i) {
if (linhas[i] == x || linhas[i] == x + y - i || linhas[i] == x - y +i return 0; } return 1;}
N lin
has
N colunas
2
int main(){ int x; printf(“\n Digite a dimenção do tabuleiro: “); scanf(“%d”, &N); int linhas[N];n_rainhas(linhas, 0); return 0;}
void n_rainhas(int linhas[N], int y){ int x; for (x=0; x < N; ++x) { if (salvaPosicaoRainha(linhas, x , y)) { linhas[y] = x; if (y == N-1) imprimirSolucoesPossiveis(linhas); else n_rainhas(linhas, y+1); } }}
void imprimirSolucoesPossiveis(int linhas[N]){ static int s = 0 int x, y,cont; printf(“\n\n Solucao %d: \n\n”, ++s); for (y=0; y < N; y++) { for (x=0; x < N; x++){ if(x == linhas[y]){ if((x+y%) 2==0) printf(“ R “); else printf(“\xdbR\xdb”); }else{ if((x+y)%2==0){
printf(“ “); }else{ printf(“\xdb\xdb \xdb”); } } } printf(“\n”); }}
Problema das N - Rainhas
Problema das N - Rainhasint main()
{ int x; printf(“\n Digite a dimenção do tabuleiro: “); scanf(“%d”, &N); int linhas[N];n_rainhas(linhas, 0); return 0;}
N = 4
4 4
int main(){ int x; printf(“\n Digite a dimenção do tabuleiro: “); scanf(“%d”,& ); int linhas[ ];n_rainhas(linhas, 0); return 0;}
Problema das N - Rainhas
0 1 2 3
0 1 2 3
Problema das N - Rainhas
0 1 2 3
0 1 2 3
void n_rainhas(int linhas[N], int y){ int x; for (x=0; x < N; ++x) { if (salvaPosicaoRainha(linhas, x , y)) { linhas[y] = x; if (y == N-1) imprimirSolucoesPossiveis(linhas); else n_rainhas(linhas, y+1); } }}
Problema das N - Rainhas
0 1 2 3
0 1 2 3
void n_rainhas(int linhas[4], int 0){ int x; for (x=0; x < 4; ++x) { if (salvaPosicaoRainha(linhas, x , y)) { linhas[y] = x; if (y == 4-1) imprimirSolucoesPossiveis(linhas); else n_rainhas(linhas, 0+1); } }}
Problema das N - Rainhas
0 1 2 3
0 1 2 3
int N; int salvaPosicaoRainha(int linhas[4], int 0, int 0){ int i; if (y == 0) return 1; for (i=0; i < 0; ++i) {
if (linhas[i] == x || linhas[i] == x + y - i || linhas[i] == x - y +i return 0; } return 1;}
Problema das N - Rainhas
0 1 2 3
0 1 2 3
void n_rainhas(int linhas[4], int 0){ int x; for (x=0; x < 4; ++x) { if (salvaPosicaoRainha(linhas, 0 , 0)) { linhas[0] = 0; if (0 == 4-1) imprimirSolucoesPossiveis(linhas); else n_rainhas(linhas, 0+1); } }}
Problema das N - Rainhas
0 1 2 3
0 1 2 3
void n_rainhas(int linhas[4], int 1){ int x; for (x=0; x < 4; ++x) { if (salvaPosicaoRainha(linhas, 0 , 1)) { linhas[1] = 0; if (0 == 4-1) imprimirSolucoesPossiveis(linhas); else n_rainhas(linhas, 0+1); } }}
Problema das N - Rainhas
0 1 2 3
0 1 2 3
int N; int salvaPosicaoRainha(int linhas[4], int 0, int 1){ int i; if (1 == 0) return 1; for (i=0; i < 1; ++i) {
if (linhas[i] == 0 || linhas[i] == 0 + 1 - i || linhas[i] == 0 - 1 +i return 0; } return 1;}
0 1 2 3
0 1 2 3
void n_rainhas(int linhas[4], int y ==1){ int x; for (x=0; 1 < 4; ++x) { if (salvaPosicaoRainha(linhas, 1 , 1)) { linhas[1] = x; if (y == 4-1) imprimirSolucoesPossiveis(linhas); else n_rainhas(linhas, y+1); } }}
Problema das N - Rainhas
0 1 2 3
0 1 2 3
void n_rainhas(int linhas[4], int y ==1){ int x; for (x=0; 2 < 4; ++x) { if (salvaPosicaoRainha(linhas, 2 , 1)) { linhas[1] = 2; if (y == 4-1) imprimirSolucoesPossiveis(linhas); else n_rainhas(linhas, y+1); } }}
Problema das N - Rainhas
0 1 2 3
0 1 2 3
int N; int salvaPosicaoRainha(int linhas[4], int 2, int 1){ int i; if (1 == 0) return 1; for (i=0; i < 1; ++i) {
if (linhas[i] == 2 || linhas[i] == 2 + 1 - i || linhas[i] == 2 - 1 +i return 0; } return 1;}
Problema das N - Rainhas
0 1 2 3
0 1 2 3
void n_rainhas(int linhas[4], int y ==1){ int x; for (x=0; 2 < 4; ++x) { if (salvaPosicaoRainha(linhas, 2 , 1)) { linhas[1] = 2; if (y == 4-1) imprimirSolucoesPossiveis(linhas); else n_rainhas(linhas, y+1); } }}
Problema das N - Rainhas
0 1 2 3
0 1 2 3
void n_rainhas(int linhas[4], int y ==2){ int x; for (x=0; 0 < 4; ++x) { if (salvaPosicaoRainha(linhas, 2 , 1)) { linhas[2] = 0; if (y == 4-1) imprimirSolucoesPossiveis(linhas); else n_rainhas(linhas, y+1); } }}
Problema das N - Rainhas
0 1 2 3
0 1 2 3
Problema das N - Rainhas
0 1 2 3
0 1 2 3
Problema das N - Rainhas
0 1 2 3
0 1 2 3
Problema das N - Rainhas
0 1 2 3
0 1 2 3
Problema das N - Rainhas
0 1 2 3
0 1 2 3
Problema das N - Rainhas
0 1 2 3
0 1 2 3
Problema das N - Rainhas
0 1 2 3
0 1 2 3
Problema das N - Rainhas
0 1 2 3
0 1 2 3
Problema das N - Rainhas
0 1 2 3
0 1 2 3
Problema das N - Rainhas
0 1 2 3
0 1 2 3
Problema das N - Rainhas
0 1 2 3
0 1 2 3
Problema das N - Rainhas
0 1 2 3
0 1 2 3
Problema das N - Rainhas
0 1 2 3
0 1 2 3
Problema das N - Rainhas
0 1 2 3
0 1 2 3
Problema das N - Rainhas
0 1 2 3
0 1 2 3
Problema das N - Rainhas
0 1 2 3
0 1 2 3
Problema das N - Rainhas
0 1 2 3
0 1 2 3
Problema das N - Rainhas
0 1 2 3
0 1 2 3
Problema das N - Rainhas
0 1 2 3
0 1 2 3
Problema das N - Rainhas
0 1 2 3
0 1 2 3
Problema das N - Rainhas
0 1 2 3
0 1 2 3
Problema das N - Rainhas
0 1 2 3
0 1 2 3
Problema das N - Rainhas
0 1 2 3
0 1 2 3
Problema das N - Rainhas
0 1 2 3
0 1 2 3
Problema das N - Rainhas
0 1 2 3
0 1 2 3
Problema das N - Rainhas
0 1 2 3
0 1 2 3
Problema das N - Rainhas
0 1 2 3
0 1 2 3
Problema das N - Rainhas
0 1 2 3
0 1 2 3
Problema das N - Rainhas
0 1 2 3
0 1 2 3
Problema das N - Rainhas
0 1 2 3
0 1 2 3
Problema das N - Rainhas
0 1 2 3
0 1 2 3
Problema das N - Rainhas
0 1 2 3
0 1 2 3
Problema das N - Rainhas
0 1 2 3
0 1 2 3
Problema das N - Rainhas
0 1 2 3
0 1 2 3
Problema das N - Rainhas
0 1 2 3
0 1 2 3
Problema das N - Rainhas
0 1 2 3
0 1 2 3
Problema das N - Rainhas
0 1 2 3
0 1 2 3
Problema das N - Rainhas
0 1 2 3
0 1 2 3
Problema das N - Rainhas
0 1 2 3
0 1 2 3
Problema das N - Rainhas
0 1 2 3
0 1 2 3
Problema das N - Rainhas
0 1 2 3
0 1 2 3
Problema das N - Rainhas
0 1 2 3
0 1 2 3
Problema das N - Rainhas
0 1 2 3
0 1 2 3
Problema das N - Rainhas
0 1 2 3
0 1 2 3
Problema das N - Rainhas
0 1 2 3
0 1 2 3
Problema das N - Rainhas
0 1 2 3
0 1 2 3
Problema das N - Rainhas
0 1 2 3
0 1 2 3
Problema das N - Rainhas
0 1 2 3
0 1 2 3
Problema das N - Rainhas
0 1 2 3
0 1 2 3
Problema das N - Rainhas
0 1 2 3
0 1 2 3
Problema das N - Rainhas
0 1 2 3
0 1 2 3
Problema das N - Rainhas
0 1 2 3
0 1 2 3
Problema das N - Rainhas
0 1 2 3
0 1 2 3
Problema das N - Rainhas
0 1 2 3
0 1 2 3
Problema das N - Rainhas
0 1 2 3
0 1 2 3
Problema das N - Rainhas
0 1 2 3
0 1 2 3
Problema das N - Rainhas
0 1 2 3
0 1 2 3
Problema das N - Rainhas
0 1 2 3
0 1 2 3
Problema das N - Rainhas
0 1 2 3
0 1 2 3
Problema das N - Rainhas
0 1 2 3
0 1 2 3
Problema das N - Rainhas
0 1 2 3
0 1 2 3
Problema das N - Rainhas
0 1 2 3
0 1 2 3
Problema das N - Rainhas
0 1 2 3
0 1 2 3
Problema das N - Rainhas
0 1 2 3
0 1 2 3
Problema das N - Rainhas
0 1 2 3
0 1 2 3
Problema das N - Rainhas
0 1 2 3
0 1 2 3
Problema das N - Rainhas
0 1 2 3
0 1 2 3
Problema das N - Rainhas
0 1 2 3
0 1 2 3
Problema das N - Rainhas
0 1 2 3
0 1 2 3
Problema das N - Rainhas
Perguntas