#pragma once

#include "board.h"

typedef struct {
    Move moves[128];
    int len;
    int pair_count;
} Solution;

/* Solve using a beam search. Returns 0 on success. */
int solve_beam(const Board *start, int beam_width, int max_depth, int n_limit, Solution *out);
