GroLopin compréhension

Bonjour à tous,
Je suis actuellement entrain de faire l'algo de ProLogin, mais dans la compréhension du texte quelque chose m'échappe.
Donc quand on dit 3 trous parmi 6 dents est ce que cette forme est bonne :

o o o
oo o
oo  o

enfaite ce que j'ai du mal à saisir c'est le nombre M de dent correspond t-il bien à l'axe des abscisses (si on place les "o" dans un repère) ? si oui cela veut dire que le nombre de lignes dépend de N (nombre de pins) et aussi du nombre de trous par ligne ?

en gros j'arrive pas très bien à m'imaginer la représentation de 3 trous parmi 6 dents.

Bonjour,

Oui, cet ensemble est bon.
Explications :
Tu as 3 pins

  1. o o o
  2. oo o
  3. oo  o

Tu as donc 3 couples possibles (c'est à dire 3 rencontres différentes de deux membres du laboratoire) :

  • 1 rencontre 2, en superposant leurs pin's, ils obtiennent : "o     ", il y a bien un seul trou. OK
  • 1 rencontre 3, en superposant leurs pin's, ils obtiennent : "  o   ", il y a bien un seul trou. OK
  • 2 rencontre 3, en superposant leurs pin's, ils obtiennent : " o    ", il y a bien un seul trou. OK

Non, le code que tu envoies dans l'onglet « soumettre » n'est (habituellement) pas lu par un humain. L'onglet « soumettre » te permet de tester ton code automatiquement sur un ensemble de test que l'on a défini (les exemples donnés dans la section « Exemple(s) d'entrée/sortie » font partis de ces tests). Dans le cas où un candidat rencontre un problème, on peut aller voir les codes, mais il est souvent préférable de nous contacter avec le formulaire de contact .

Par ailleurs, les codes soumis pour les qualifications (sur la page Prologin 2013 du menu) sont relus par des humains quand cela est nécessaire.
Si tu as une question, il est préférable de la poster sur le forum quand cela est possible (i.e. si la question ne révèle pas trop d'information aux autres candidats), sinon, tu peux nous la poser directement en utilisant le formulaire de contact.

Nous sommes déjà au courant de quelques problèmes (notamment les tests de performance de GroLopin sont trop sévères pour un exercice de niveau 1), ils devraient en partie être résolus dès demain soir.

Bonne chance pour les qualifications !

D'accord j'ai bien compris maintenant merci beaucoup pour l'explication !

Deux petites question s'il vous plaît \^\^, j'ai une idée pour l'algo et j'aimerai savoir à quoi correspond la partie http://www.prologin.org/training/challenge/qcm2013/grolopin puis l'onglet [Soumettre] ? Est ce que je peux y mettre montre idée et avoir un avis humain ou uniquement du code ?

"Écrivez une fonction permettant de s'assurer que tous les pin's des membres du laboratoire respectent bien ces caractéristiques"

Je dois donc vérifier à l'aide d'un algorithme si pour 1

Cordialement.

D'accord merci pour tes réponses très rapide je commence à saisir ( désolé première fois pour moi \^\^) Sinon j'ai édité mon message précédent que je te remet ici :

"Écrivez une fonction permettant de s'assurer que tous les pin's des membres du laboratoire respectent bien ces caractéristiques"

Je dois donc vérifier à l'aide d'un algorithme si pour 1

Ce sera ma dernière question c'est juste pour voir si j'ai bien compris la question \^\^'.

Pour la question de ton edit :
Oui, N et M te sont donnés sur l'entrée standard, tu n'as pas besoin de vérifier si 1

En fait, à partir de demain soir, on va sûrement modifier les contraintes en 1

Tu as une section « Sortie » qui précise ce que doit écrire ton programme sur la sortie standard pour passer les tests :
> Vous devez écrire une ligne sur la sortie standard : 1 si l'ensemble
> de pin's respecte la propriété, 0 sinon.

C'est à dire que l'utilisateur entre par exemple : GroLopin(N,M) -> GroLopin(3,4) ça renvoi 1 ? (EXEMPLE(S) D'ENTREE/SORTIE -> exemple 1)
Qu'appelez-vous sortie standard ? car pour moi on entre 2 valeurs (Entrée), tout un calcul de vérification ce fait(Code de base) et ça retourne 1 ou 0 (Sortie).

Par entrée/sortie standard, je veux dire stdout et stdin. Si tu codes en C par exemple, tu peux lire les valeurs avec scanf et afficher la réponse avec printf. Si tu code en python, tu dois utiliser input et print, etc...
Les autres années, il y avait des sources à compléter (il n'y avait donc qu'une fonction à écrire), mais on a un petit problème avec le logiciel de génération automatique des sources, je vais sûrement écrire les sources à compléter pour le C et C++ dans la semaine.

D'accord pour ça mais ce que je veux dire c'est que je trouve la question pas très clair, on doit vérifier si N donné respecte la contrainte qui si je ne m'y trompe pas est la superposition de deux pin's quelconques doit toujours laisser apparaître un unique trou.
J'ai bien compris ce qu'il fallait en entrée et en sortie mais c'est le coeur de l'algo, le coeur de la fonction qu'elle est le but ? De ce que j'ai compris il faut refaire ceci : http://grolopin.com/pins sauf qu'au lieu de mettre des "o" on met N et M.

Je crois qu'enfaite j'avais bien compris depuis le début mais j'avais des doutes ta réponse viens de m'éclairer surtout à l'aide de ton param tab en string.
Enfaite ce qui me bloquais / bloque dans ma réflexion est enfaite N et tab si l'utilisateur rentre N= 999 et M=? et surtout 999 chaines string ça me paraît énorme et surtout éprouvant pour l'utilisateur.
D'autant plus que d'après ce que je lis il faut que le programme ne dépasse pas 1000ms si il fait avec N=999 et tab qui sera énorme je doute que le programme puisse donner une réponse en moins d'une seconde \^\^.
Après il est évident que je peux me tromper et que ma réflexion soit mauvaise.

Malheureusement, je ne peux pas t'en dire plus, tu dois trouver comment éviter de dépasser les limites, qui ne sont pas erronées.

Au passage, le temps mis pour entrer l'entrée par l'utilisateur n'est pas compté.
(Oui, je capitaine oubviouse également -- BTW, alex3er, tu as mis "é" au lieu de "er")

Si tu définis une fonction "grolopin", ça donnerait plus quelque chose comme ça:
grolopin(int n, int m, string *tab) (avec n nombre de pin's et donc taille de tab, et m nombre de dents pour chaque pin's , et donc la taille de chaque élément de tab).
Et tu appellerais ainsi ta fonction pour le premier exemple:
grolopin(3,4,{" oo","o o ","o o"});
J'ai l'impression de captain obviouser un peu, mais si ce n'était pas ça que tu demandais, je ne comprends vraiment pas ce qui te chiffonne, et ta dernière phrase m'est totalement incompréhensible.

Je vais reformuler l'énoncé, même s'il me parait déjà bien clair:
Tu as un ensemble de N pin's, chaque pin's ayant M emplacement représentés par un caractère 'o' si cet emplacement contient un trou, sinon par un caractère ' '(espace). Tu dois vérifier si pour chaque paire de pin's tu as un et seulement un trou en commun (donc le caractère 'o' à la même position dans la chaîne de caractère).
Si c'est le cas, tu renvoie 1.
Sinon, le set de pin's est invalide, et tu renvoies 0.
Le seul rapport que tu peux établir entre la compétition s'étant déroulée sur grolopin.com et cet exercice, c'est que les sets de pin's doivent respecter la même logique. Mais sinon, ce n'est pas du tout un exercice équivalent, ici, il s'agit de vérifier la validité des sets, alors que sur grolopin, il fallait générer un set valide avec une taille maximale.

Répondre au sujet

Vous devez vous enregistrer ou vous connecter pour poster des messages.