[Demi 2013] Reverse Alchemying : précision sur l'ordre d'affichage

Bonjour

Dans Reverse Alchemying , le programme doit afficher une suite de formules (genre : confiture = fraise + sucre, tartine = beurre+ confiture) permettant de réaliser une potion puis se terminer en affichant la liste de tous les ingrédients utilisés pour obtenir la potion finale(genre : beurre, confiture, sucre).

Or, comme dans beaucoup de recettes, on n'est pas obligé de réaliser les étapes un ordre unique. D'où ma question :

Dans Reverse Alchemying

a) y a-t-il un ordre d'affichage à respecter ? par exemple, en fonction de l'ordre d'apparition des formules numériques (genre 13 4 5) dans l' input ?
b) ou au contraire aucun ordre particulier [si ce n'est, comme l'énoncé l'indique, que l'affichage de chaque formule nécessaire à réaliser une formule donnée X doit apparaître AVANT l'affichage de X]

[j'opterais pour le b]

Idem, pour les ingrédients de base, y-a-t-il un ordre particulier d'affichage ? [je dirais que non]

D'une façon générale (cf. les autres exos), chaque test d'un énoncé de prologin admet un affichage unique. Lorsque cela n'est pas le cas, il me semble évident qu'il faut le préciser. Par ailleurs, il faut avoir conscience que cela rend beaucoup plus difficile pour les candidat le test des exemples. Dans les concours de programmation de votre genre, il est très rare que l'affichage ne soit pas unique.

Merci de votre réponse (oui, je sais la finale approche donc j'attendrais le temps qu'il faudra mais quelqu'un qui a fait l'exo peut aussi répondre).

Si ce n'est pas précisé dans l'énoncé...
Donc b et non, dans le doute tu aurais pu soumettre une solution pour vérifier (comme moi suite à ton post).
Ce n'est pas si difficile pour les candidats dans la mesure où ils auront à peu de choses près la même sortie puisqu'a priori le même algorithme. Et l'affichage non unique n'est pas si rare.

Ouaip ; les orgas mettent en place ce que l'on appelle des checkers pour vérifier que ce que renvoie ton algorithme correspond à ce qui est attendu. Tu peux très bien en implémenter toi-même ; et si ça te gêne, tu peux toujours t'imposer un ordre de tri (mettons lexicographique) respectant les consignes, afin d'avoir une réponse toujours identique.
Mais ouais, lorsque tu hésites pour une réponse à ta question sur l'énoncé, il faut te lancer quand même et soumettre en fonction de ce que tu crois. Prologin, c'est toujours comme ça. Ce n'est pas si grave si tu as une soumission fausse ; de toute façon, ça a peu de chances d'arriver.

OK merci de vos réponses en particulier d'avoir confirmé l'utilisation de checkers. Je n'ai pas soumis de code car
1) ça fait perdre des points, et ça m'énerve de perdre des points pour une question mal formulée
2) la réponse à ma question déterminait en partie le code à écrire (voulait être sûr d'avoir bien compris la question et pas forcément envie d'écrire deux fois le code).

@Thomas_94
Et l'affichage non unique n'est pas si rare. Pour être plus précis, je me réfère aux sujets des demi-finales et des QCM. Dans ce cas, une sortie non déterministe est très rare. Je prends juste pour exemple la session 2013 : il y a eu 4+15=19 sujets et seul UN sujet pouvait admettre plusieurs réponses. Si tu as des statistiques de nature différente pour les sessions précédentes, ne te prive pas de nous les donner.
Pour les problèmes du même style (France-IOI, SPOJ, UVA, Timus, etc), c'est aussi très rare.

Effectivement, il n'y a eu qu'un seul sujet. La fonctionnalité a été ajoutée cette année, et ce sujet était un sujet d'essai. Nous marquerons à l'avenir plus en détail le fait qu'il puisse y avoir plusieurs réponses possibles, merci de la remarque.

Je n'ai pas l'impression que ce soit si rare ; j'ai souvenir que de nombreux problèmes sur France-IOI n'exigent pas d'ordre dans la sortie. Et ce même dans les premiers niveaux d'ailleurs ; j'ai même dû signaler pas mal de problèmes de ces checkers à l'association.

Sur les trois problèmes de l'épreuve de sélection 7 (qui est d'ailleurs la sixième, j'ignore pourquoi ils ont sauté le numéro 6) pour les IOI 2013, deux ont besoin de checkers (d'ailleurs Mathias n'avait pas implémenté le premier et j'en ai été victime avec mon algorithme mal fichu).

Je ne parlais pas de Prologin. Par exemple dans les challenges mensuels de CodeChef il y a toujours un problème d'optimisation parmi les dix où la sortie n'est pas unique. L'exercice B du Google Code Jam 2012 Round 2 en était également un il me semble. Sur Codeforces, il arrive très fréquemment (en témoigne alex3er s'il lit ce post) de lire : « if there are multiple solutions, print any of them ».

Je peux en effet en témoigner, mais je n'ai aucune information supplémentaire ou anecdote croustillante à ce sujet qui ajouterait de l'intérêt à mon message.
Je vais donc intégrer de la pertinence en ajoutant un autre exemple: topcoder utilise aussi ce système de réponses multiples , que ce soit en SRM (single round match), dans le style de codeforces (mais plus rare), ou bien en marathon matchs, dans le style des challenges de codechef (mais en plus complexe).

Répondre au sujet

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