AlgoDS-Examen2025/README.md
LordBaryhobal 35f194f649
Some checks failed
Python unit tests / unittests (push) Failing after 4s
completed README
2025-01-28 17:28:24 +01:00

3.9 KiB

Examen 2025


201.1 Algorithmes et Structures de données

unit tests workflow

Voici mes réponses pour l'examen 2025 d'Algorithmes et Structures de données ainsi que les tests unitaires fournis.

Exercice 1

But Compter le nombre de valeurs positives différentes ayant leur opposé dans une liste
Input La liste des demi-touches (entiers relatifs non-nuls)
Output Le nombre de touches distinctes dont les valeurs positives et négatives sont dans la liste
Signature
def countKey(
    pieces: list[int]
) -> int:

Source / Tests

Exercice 2

But Trouver le chemin le plus court entre deux points, en considérant que certaines routes ne sont praticables que de nuit/jour
Input Nœud de départ (index), nœud d'arrivée (index) et liste des routes / arêtes (nœud 1, nœud 2, restriction)
Output Liste des nœuds (index) à parcourir
Signature
def findSafestPath(
    start: int,
    end: int,
    intersections: list[tuple[int, int, int]]
) -> list[int]:

Source / Tests

Exercice 3

But Trouver dans un réseau de console un sous-graphe connexe de taille donnée
Input Taille n du sous-graphe recherché, liste des connexions
Output Liste de n consoles toutes interconnectées
Signature
def findTightlyLinkedConsoles(
    n: int,
    consoles: list[tuple[int, int]]
) -> list[int]:

Source / Tests

Exercice 4

But Compter le nombre de séquences de N coups infligeant un total de H dégâts
Input Nombre N de coups dans la séquence, nombre C de coups possibles (dégâts 1 à C inclus), total H de dégâts
Output Nombre de séquences possibles
Signature
def computeNbrOfDifferentSequences(
    N: int,
    C: int,
    H: int
) -> int:

Source / Tests

Exercice 5

But Trouver les placements de pièces Minitris formant un rectangle plein
Input Largeur de la grille, longueur de la grille, liste des pièces à poser
Output Liste des positions des pièces
Signature
def playMinitrisFastAndWell(
    board_width: int,
    board_height: int,
    pieces: list[tuple[tuple[int,int], tuple[int,int]]]
) -> list[list[int, int]]:

Source / Tests