• Aucun résultat trouvé

PSI et PT

N/A
N/A
Protected

Academic year: 2022

Partager "PSI et PT"

Copied!
2
0
0

Texte intégral

(1)

ÉCOLE POLYTECHNIQUE

CONCOURS D’ADMISSION 2005 FILIÈRES

PSI et PT

ÉPREUVE D’INFORMATIQUE (Durée : 2 heures)

L’utilisation des calculatrices n’est pas autoriséepour cette épreuve.

Le langage de programmation choisi par le candidat doit être spécifié en tête de la copie.

Dépouillement d’élections

On attachera une grande importance à la concision, à la clarté, et à la précision de la rédaction.

On précisera en tête de copie le langage de programmation utilisé.

Le temps d’exécution T(f) d’une fonction f est le nombre d’opérations élémentaires (addi- tion, soustraction, multiplication, division, affectation, etc.) nécessaire au calcul de f. Lorsque ce temps d’exécution dépend d’un paramètre n, il sera noté Tn(f). On dit que la fonction f s’exécute :

– en temps linéraire en n, s’il existeK >0 tel que pour toutn,Tn(f)≤Kn; – en temps quadratique enn, s’il existeK >0 tel que pour tout n,Tn(f)≤Kn2.

Le problème consiste à faire le décompte du résultat des élections dans le pays X. La règle électorale y est très laxiste, puisqu’on peut être élu sans s’être présenté. Plus prosaïquement, chaque votanti(0≤i < n) vote pour a[i], oùa[i]est un entier positif quelconque (les habitants du paysX sont identifiés par un entier représentant leur numéro de sécurité sociale).

I. Dépouillement du premier tour

Dans le pays X, seul le candidat ayant obtenu strictement plus de50% des voix exprimées est élu au premier tour des élections.

Question 1 Écrire la fonction gagnant_tour1 qui retourne le gagnant du premier tour s’il existe. S’il n’existe pas, on retournera1. On se contentera d’une fonction faisant le calcul en temps quadratique par rapport àn.

Question 2 Supposons le tableauatrié en ordre croissant, vérifianta[0]≤a[1]≤ · · · ≤a[n−1].

Écrire une fonction gagnant_tour1_bis qui retourne le gagnant du premier tour en temps linéaire par rapport àn.

Question 3 Si on sait trier un tableau de taillenen tempsnlogn, quel est l’ordre de grandeur du temps pris par le dépouillement du premier tour ?

1

(2)

II. Dépouillement du deuxième tour

Au deuxième tour des élections, le candidat ayant obtenu le plus de voix est élu. Si égalité de voix, tous les candidats ayant obtenu le plus de voix sont élus (ex aequo).

Question 4 Écrire la fonction gagnants_tour2 qui imprime le(s) gagnant(s) du deuxième tour. On se contentera d’une fonction faisant le calcul en temps quadratique par rapport à n (attention : on n’imprimera qu’une seule fois les noms des gagnants).

Question 5 On suppose maintenant le tableau a trié en ordre croissant. Écrire une fonction gagnants_tour2_bis qui imprime le(s) gagnant(s) du deuxième tour en temps linéaire par rapport àn.

Question 6 Si on sait trier un tableau de taillenen tempsnlogn, quel est l’ordre de grandeur du temps pris par le dépouillement du deuxième tour ?

III. Dépouillement rapide du premier tour

On suppose à nouveau le tableau anon trié.

Un multi-ensemble E d’éléments de D est un ensemble où on autorise chaque élément à apparaître plusieurs fois (formellement,E est une fonction de D dansNE(d) est le nombre d’occurrences de d dans E). Par exemple, 0,2,2,3,0,0,0,5,0 est un multi-ensemble. On dit que x est un élément majoritaire dans E contenant n éléments si x apparaît strictement plus quen/2fois dansE. Le gagnant du premier tour est donc l’élément majoritaire (s’il existe) dans le multi-ensemblea[0], a[1], . . . a[n−1]. Dans ce dernier cas, on dira plus simplement quex est majoritaire dans le tableaua.

Question 7 Démontrer que si x est majoritaire dans E et que y et z sont deux éléments distincts (y =z) de E, alors x est majoritaire dans le multi-ensemble obtenu en retirant de E les élémentsy etz.

Question 8 Démontrer que si x est majoritaire dans a et qu’il n’existe pas d’élément ma- joritaire dans les i premiers éléments a[0], a[1], . . . a[i−1] de a, alors x est majoritaire dans a[i], a[i+ 1], . . . a[n1].

Question 9 En déduire la fonction gagnant_tour1_terqui retourne le gagnant du premier tour en temps linéaire par rapport à n.

Indication : faire deux passes sur le tableau a; dans la première passe, on cherche un candidat majoritaire ; dans la deuxième passe, on vérifie qu’il est bien majoritaire.

∗ ∗∗ 2

Références

Documents relatifs

La durée de la journée le 21 juin nous renseigne donc sur la latitude du lieu.. Cette durée nous permet de connaître la latitude pour laquelle les éphémérides

Interventions à la tribune de Cédric BRUN (département de philosophie de Bordeaux), Nathalie LEBRUN (SN du SNESUP-FSU), Frédéric Le PLAINE (ACIREPh), Nicolas FRANCK(APPEP),

En revanche, le Royaume-Uni béné cie d’une croissance plus rapide du PIB et d’une progression de la productivité, elle aussi plus rapide que dans les autres pays, mais

Le cliché est donc un symptôme : privé du prestige de la grandiloquence, contrairement au lieu commun flaubertien, le cliché dans &#34;Temps pris&#34; fonctionne à la fois comme

Question 7 Écrire une fonction marquage(T ) qui identifie les objets de la matrice de pixels T selon la méthode décrite précédemment, tout en modifiant les valeurs de la variable nc

Question 3 Écrire une fonction estStable(c, a, Obj ) qui retourne, en temps linéaire par rapport à n, la valeur vrai si l’alliance représentée par le tableau a est une alliance

On mesure la tension aux bornes du condensateur à l’aide d’un voltmètre électronique parfait (de résistance interne infinie). Ce condensateur ayant été chargé sous une tension E

Par ailleurs, nous avons vu qu'une multiplication de cyclonômes peut être réduite à deux DFT directes plus une DFT inverse.. Chacune de ces méthodes reposait sur un choix dis- tinct