100 int sujas = 0, max = -1, min = -1;
104 if (min < 0 ||
i < min)
126 estado[index >> 6] |= (
uint64_t)(
salas[
i] ==
'*' ? 1 : 0) << (index & 63);
Representa um estado no problema do Aspirador.
void Debug(void)
Mostra o estado no ecrã, para debug.
void Copiar(TProcuraConstrutiva *objecto)
TProcuraConstrutiva * Duplicar(void)
Cria um objecto que é uma cópia deste.
const char * Acao(TProcuraConstrutiva *sucessor)
void ResetParametros()
Inicializa os parametros, indicadores e instâncias.
bool SolucaoCompleta(void)
Verifica se o estado actual é objectivo (é uma solução completa)
void Codifica(uint64_t estado[OBJETO_HASHTABLE])
Codifica o estado para um vetor de inteiros de 64 bits.
bool Distinto(TNo estado)
Verifica se o estado actual distinto do fornecido.
void Sucessores(TVector< TNo > &sucessores)
Coloca em sucessores a lista de estados sucessores.
int Heuristica(void)
Função para calcular quanto falta para o final, o valor da heurÃstica.
void Inicializar(void)
Coloca o objecto no estado inicial da procura.
Representa um estado no espaço de estados.
void NovaLinha(bool tudo=true)
static bool memoriaEsgotada
Flag indicando problemas de memória esgotada.
static int resultado
Resultado retornado pelo algoritmo na última execução.
static TParametro instancia
ID da instância atual, a ser utilizado em SolucaoVazia().
bool Equal(const TVector< Item > &v) const
Verifica se dois vetores-conjunto são iguais.
virtual void Sucessores(TVector< TNo > &sucessores)
Coloca em sucessores a lista de estados sucessores.
void Inicializar(void) override
Coloca o objecto no estado inicial da procura.
void ResetParametros() override
Redefinição. Ver TProcura::ResetParametros().
virtual void Codifica(uint64_t estado[OBJETO_HASHTABLE])
Codifica o estado para um vetor de inteiros de 64 bits.
int heuristica
Estimativa para o custo até um estado objetivo, se disponÃvel.
static int tamanhoCodificado
Número de inteiros de 64 bits utilizados para codificar um objeto (≤ OBJETO_HASHTABLE).
unsigned int rand(int seq)
Retorna o próximo valor pseudo-aleatório.
int valor
valor do parametro