/**
 * In a dance performance, a dancer can have multiple moves assigned to them.
 * This function takes a dictionary of dancer moves and returns a dictionary with all the unassigned moves.
 *
 * @param dancerMoves A dictionary containing dancer names as keys and their assigned moves as values.
 * @return A dictionary with dancer names as keys and a list of unassigned moves as values.
 */
fun findUnassignedMoves(dancerMoves: Map<String, List<String>>): Map<String, List<String>> {

    val unassignedMoves = mutableMapOf<String, List<String>>()

    for ((dancer, moves) in dancerMoves) {
        val unassigned = moves.filter { it == null } // Filter to find unassigned moves

        if (unassigned.isNotEmpty()) { // Check if any unassigned moves exist
            unassignedMoves[dancer] = unassigned.filterNotNull()
        }
    }

    return unassignedMoves
}
/**
 * In a dance performance, a dancer can have multiple moves assigned to them.
 * This function takes a dictionary of dancer moves and returns a dictionary with all the unassigned moves.
 *
 * @param dancerMoves A dictionary containing dancer names as keys and their assigned moves as values.
 * @return A dictionary with dancer names as keys and a list of unassigned moves as values.
 */
fun findUnassignedMoves(dancerMoves: Map<String, List<String>>): Map<String, List<String>> {
/**
 * In a dance performance, a dancer can have multiple moves assigned to them.
 * This function takes a dictionary of dancer moves and returns a dictionary with all the unassigned moves.
 *
 * @param dancerMoves A dictionary containing dancer names as keys and their assigned moves as values.
 * @return A dictionary with dancer names as keys and a list of unassigned moves as values.
 */
fun findUnassignedMoves(dancerMoves: Map<String, List<String>>): Map<String, List<String>> {

    val unassignedMoves = mutableMapOf<String, List<String>>()

    for ((dancer, moves) in dancerMoves) {
        val unassigned = moves.filter { it == null } // Filter to find unassigned moves

        if (unassigned.isNotEmpty()) { // Check if any unassigned moves exist
            unassignedMoves[dancer] = unassigned.filterNotNull()
        }
    }

    return unassignedMoves
}