MAC338 Análise de Algoritmos

BCC - 1o. Semestre de 2000

O Problema das Rainhas

Estamos interessados no problema bem conhecido de como colocar n rainhas em um tabuleiro de xadrez n por n de forma que nenhuma ataque outra. Consideremos o problema de enumerar o número de soluções para cada n dado. Não precisamos enumerar as soluções, queremos apenas saber a quantidade delas (se imprimimos cada uma das soluções, nossos programas serão muito lentos). No momento fornecerei dois programas executáveis para vocês experimentarem. Estes programas foram compilados na rede GNU/Linux do IME. O Jorge F. Del Teglia escreveu programas em C++ e Java para resolver este problema. Ele também me enviou uma tabela com estatísticas de tempo de execução. Também montei uma tabela com estatísticas de tempo de execução do programa misterioso d acima. Como vocês podem observar, o tempo de execução de d é bastante bom.

Desafio

Vocês já conhecem bastante estruturas de dados, algoritmos, técnicas de programação, etc. O Jorge já forneceu um primeiro programa sobre o qual vocês podem trabalhar. Vocês podem, por exemplo, fazer um estudo do programa dele para ver se há espaço para melhoramento (experimentem fazer um profiling). Trabalhem individualmente ou em grupo para produzir mais programas para competir com o programa misterioso d.

Contribuições

Você pode ver aqui as contribuições de dois colegas seus.
[Página principal dos desafios de MAC338 | Página principal de MAC338 (BCC - 1o. Semestre de 2000)]
Netscape-HTML Checked!
Y. Kohayakawa <yoshi@ime.usp.br>

Last modified: Tue Jul 4 20:01:58 BRT 2000