Tayot Loika

Problème Programmation C

2 messages dans ce sujet

Bonsoir, j'ai besoin d'aide pour ce problème s'il vous plait. Merci d'avance.

On commence par vous décrire une grande chaîne d'ADN, c'est-à-dire une suite de lettres parmi C,G,T,A. Ensuite on vous donne
des motifs d'ADN correspondant à des gènes, c'est-à-dire une suite de quelques dizaines de lettres (toujours parmi C,G,T,A). Le
but est de déterminer pour chaque gène quelle est la zone de la grande chaîne d'ADN qui ressemble le plus au motif de ce gène.
Concrètement, on veut minimiser le nombre de différences entre le code du gène et le code d'un fragment de la grande chaîne
d'ADN (le fragment doit être de même longueur que le code du gène et doit être entièrement inclus dans la chaîne d'ADN).
Pour simplifier, on va travailler en considérant que l'ADN est simplement une suite de 0 et de 1 (remarquez que cela ne change pas
fondamentalement le problème). On supposera aussi que tous les gènes considérés sont des séquences de même longueur. Ce
qu'on vous demande précisément dans ce sujet, c'est de déterminer pour chaque gène quel est le nombre minimum de différences
que l'on peut obtenir entre le code du gène et le code d'un fragment de même longueur entièrement inclus dans la grande chaîne
d'ADN.
Notez que vous ne pouvez pas retourner les gènes ou la chaîne d'ADN.
Limites de temps et de mémoire (Python)
Temps : 0,4 s sur une machine à 1 GHz.
Mémoire : 32 000 ko.

Contraintes
1 <= G <= 100, où G est le nombre de gènes que l'on cherche à reconnaître approximativement dans la grande chaîne.
1 <= L <= 30, où L est la longueur des segments d'ADN des gènes considérés.
L <= N <= 100 000, où N est la longueur de la grande chaîne d'ADN à étudier.
Entrée
La première ligne de l'entrée contient trois entiers séparés par des espaces : G, L et N.
Chacune des G lignes suivantes contient L entiers (0 ou 1) séparés par des espaces décrivant un gène.
La dernière ligne contient N entiers (0 ou 1) séparés par des espaces décrivant la grande chaîne.
Sortie
Vous devez écrire G lignes contenant chacune un entier. La ligne ième ligne doit donner le nombre minimal de différences que l'on peut trouver entre le code du ième gène de l'entrée et un fragment de même longueur dans la grande chaîne d'ADN fournie.

Exemple

Entrée
3 6 12
0 0 1 1 0 1
1 1 1 1 1 1
1 0 0 0 0 1
1 0 1 1 0 0 0 0 1 1 0 0

Sortie


Commentaires
Premier motif : 1 différence au moins
1 0 1 1 0 0 0 0 1 1 0 0
0 0 1 1 0 1
Second motif : 3 différences au moins
1 0 1 1 0 0 0 0 1 1 0 0
1 1 1 1 1 1
Troisième motif : 0 différence est possible
1 0 1 1 0 0 0 0 1 1 0 0
1 0 0 0 0 1

1.jpg

11.jpg

Partager ce message


Lien à poster
Partager sur d’autres sites

Créer un compte ou se connecter pour commenter

Vous devez être membre afin de pouvoir déposer un commentaire

Créer un compte

Créez un compte sur notre communauté. C’est facile !


Créer un nouveau compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.


Connectez-vous maintenant