Journal mon codingame à moi

Posté par (page perso) . Licence CC by-sa
Tags :
14
28
juil.
2013

Vous ne le saviez peut-être pas ? (pourtant… bon… ce n'est pas passé inaperçu sur ce site) mais samedi soir vers 18h, c'était le codingame. Je n'avais pas participé à la dernière édition mais la bon… c'était l'occase. Je n'ai jamais eu de cours d'info proprement dit, je code de temps en temps pour mon plaisir DONC je me suis entraîné un peu cette semaine.
Quelques baisses de moral quand l'exo super simple, le premier, tu le finis en 30 minutes et que ça c'est le temps qu'il a fallu au premier pour tout finir… Mais on est pro ou pas. (moi je ne le suis pas)

donc hier, samedi, premier jour de vacances en famille, chouette, y'a le wifi au camping. Quoi ? Apéro ? euh non, c'est important, tu comprends, c'est mon premier Coding Game… !!

(première engueulade avec la chef de famille, ma femme…)

Pas très grave, j'arrive à 19h10 au lieu de 18h mais bon… c'est de donne guerre (il a bien fallu faire la promenade avec les enfants). Je n'avais pas prévu de scorer plus que ça. Le compromis c'est important, surtout pour le premier jour des vacances. La soupe à la grimace, je n'aime pas des masses.

Bon… premier exo assez vite expédié (j'étais fier !!! trop fier !!).

Deuxième exo… bon… ça se présente pas trop mal… des petits rucs que j'oublie en cours de route mais c'est pas trop mal (autosatisfaction…) Tiens ma fille arrive… (oui, j'étais près de l'accueil du camping en autiste derrière un sapin, le wifi n'étant présent que "autour de l'accueil, monsieur") : "un soucis ?", "Oui, Mael (mon fils) s'est ouvert tout le pied en faisant de la trottinette, maman veut que tu viennes tout de suite". ………………. Raaaaaaaaaaaaaaaaaaaaaahhhhhhhhhhhhh p'tain j'y étais presque.

Ma femme a failli tomber dans les pommes en voyant l'état du pied de mon fils, j'ai eu le droit aux gros yeux (comme si c'était moi qui faisait de la trotte en tong !!!). Après des calins et de la médecine de papa, je m'y remets. Ah…

Trop tard… ding dong… peut plus rien faire.. RAAAAH.

Cependant, j'aimerais bien soumettre mon code pour savoir si je passe tout, car j'ai tout fait de tête de retour au bungalow…
Si un admin pouvait me dire si au moins, ça passe, juste histoire que j'ai cette petit fierté : "j'ai un un CG !!"

Merki :) (id : 109667e3cf595613d13e9379b9907d9f2ead17 )

NB: mon fils va bien mais il est passé à "ça" de ne plus pouvoir mettre le pied dans l'eau pour 2 semaines…le premier jour des vacances c'est super.

  • # Je ne sais si c'était Jean Pierre Sartre ou Jean Paul Papin qui disait

    Posté par (page perso) . Évalué à 10.

    Si on veut faire de grandes choses, il ne faut pas faire d'enfant!

    http://devnewton.bci.im

  • # Tester ton code

    Posté par . Évalué à 3.

    Salut,

    Tu peux voir les resultats de ton code ici: http://www.codingame.com/cg/#!report:109667e3cf595613d13e9379b9907d9f2ead17.
    Pour ce qui est de soumettre ton code a nouveau (afin de corriger les quelques bugs), les exos seront disponibles sous peu sur le site.

    PS: C'etait mon premier CodinGame moi aussi, vraiment tres sympa (et j'ai fini 2eme alors que demander de plus :) )

    • [^] # Re: Tester ton code

      Posté par . Évalué à 2.

      je ne connaissais pas, du coup je viens de tester un exo au pif :

      http://www.codingame.com/ide/?target=clogin&s=1&id=11866681b85675d51d29dd398f17b40542997a#

      c'est rigolo :)

      Après, je trouve leur éditeur chiant (pas de copy/paste de la sélection, pas de complétion, …) donc si je devais en faire un, j'utiliserais mon éditeur de code favori et je copierais la solution :)

      Ce que je trouve dommage aussi, (je n'ai peut-être pas trouvé), c'est que je ne sais pas pourquoi les deux derniers tests on échoué, donc je ne peux pas revoir mon code pour fixer les soucis.

  • # ...

    Posté par . Évalué à 3. Dernière modification le 29/07/13 à 00:20.

    Sinon, rien a voir…
    j'étais en vacances aussi je n'ai donc pas suivis cette affaire…

    Du coups je regarde les question, et en me ballandant sur les meilleurs scores je tombe la dessus : http://www.codingame.com/cg/#!report:87537db8a084eaa01c5be99eaa796170ce79c

    Regardez les temps des compilations: en 30 centieme de seconde le mec il ponds une 50aine de ligne de code, en 10 secondes le code est pratiquement terminé , il pionce 6 minutes pour terminer en 6 min 9 sec.

    c'est quoi cette histoire ? il y a de la gruge là ou pas ???

    • [^] # Re: ...

      Posté par . Évalué à 6.

      j'aurais tendance à dire qu'il a un fichier à coté avec quelques include + define pour faciliter le dev, c'est les même premières ligne dans le second code ;)

      Il ne faut pas décorner les boeufs avant d'avoir semé le vent

      • [^] # Re: ...

        Posté par . Évalué à 1.

        Oui, ça paraît assez logique, surtout quand on fait du C++ qui n'est pas le langage le plus compact qui soit.

        D'ailleurs, il a un peu explosé le classement samedi : http://www.codingame.com/cg/#!report:114182aa2bd9d2483f971c95b3867b349c5d86

        En tout cas, le coup des define pour les boucles for, c'est vraiment pas mal pour ce genre de concours où il faut coder vite.

        Quoi qu'il en soit, bravo à lui !

        • [^] # Re: ...

          Posté par . Évalué à 2.

          En tout cas, le coup des define pour les boucles for, c'est vraiment pas mal pour ce genre de concours où il faut coder vite.

          Oui d'ailleurs, je m'étonne que la qualité du résultat ne soit pas jugé, juste le temps mis pour coder. Typiquement, dans l'exemple que tu donnes, le premier exercice est un calcul de chemin critique et le second est un calcul de nombre de composantes connexes. Dans les deux cas, il existe des algorithmes qui vont bien et toute un série d'algorithmes sous-optimaux. Mais là, vu les tailles des instances, peu importe, même un truc naïf va marcher. Et gagnera s'il est codé en très peu de temps…

          • [^] # Re: ...

            Posté par (page perso) . Évalué à 2.

            Le but de cette "opération" est de se faire embaucher par les boîtes partenaires du CodinGame. Si le code est dégueulasse, il ne sera pas pris. Ou alors la boîte n'est pas trop regardante

            • [^] # Re: ...

              Posté par (page perso) . Évalué à 2.

              et aussi de gagner mille dollarz américains, yeah !

            • [^] # Re: ...

              Posté par . Évalué à 4.

              [Mode cynique]
              Ou alors il y a une déconnexion complète entre les ingénieurs qui ont conçu les exercices et les mecs du marketing et RH qui vont décider qu'un mec qui a torché aussi vite un exercice d'ingénieurs ne peut pas être techniquement mauvais. S'il se démerde bien, il peut même être embauché directement comme manager en s'appuyant sur ses méthodes de travail qu'il peut enseigner aux autres pour qu'ils travaillent plus vite, une expertise technique supérieure peut créer un leadership naturel.
              [/Mode cynique]

              • [^] # Re: ...

                Posté par (page perso) . Évalué à 0.

                [Mode cynique]
                Je ne suis même pas sûr que tu avais besoin de passer en mode cynique
                [/Mode cynique]

                Après c'est le problème de la boîte s'ils sont incapables de déterminer si un mec code comme un cochon (je n'ai rien contre les cochons, au contraire, je trouve ça mignon). J'ai même envie de dire tant mieux pour le gars qui se fait embaucher comme ça !

  • # À propos du retour vers l'exercice précédent

    Posté par (page perso) . Évalué à 6.

    Que pensez-vous du fait de pouvoir accéder aux deux exercices immédiatement ? Je trouve que cela simplifie grandement la triche puisqu'on peut répartir la résolution des deux cas entre deux personnes. Il me semble que dans les précédentes éditions il fallait valider le premier exercice pour avoir accès au suivant, ce qui m'apparaît comme plus juste. Au mieux on pouvait réfléchir à plusieurs sur le même problème mais on ne pouvait pas si bien se répartir le travail.

    • [^] # Re: À propos du retour vers l'exercice précédent

      Posté par . Évalué à 2.

      Il y a un certain nombre de problème avec ce genre de concours… je pense à celui là en particulier, et à un autre, il a plus ou moins un an, le « Code of Duty » :

      • les langages ne sont pas limités de la même manière : par ex. le python a 6 secondes pour s'exécuter, le C en a 1… normal me direz vous, c'est plus lent à exécuter… mais alors pourquoi on ne divise pas par 6 le temps à coder pour le C ?
      • il y a effectivement possibilité de tricher comme tu le fais remarquer (quand on voit le premier qui a tout cartonné en qq minutes, notamment le second exo en moins de 5 mn, on peut avoir des doutes, mais bon c'est difficile d'accuser un type de tricher si on n'a pas la preuve, peut être qu'il est vraiment bon. En tout cas sa solution est brillante) ;
      • les vecteurs de tests sont un peu foireux. Dans le premier exo, on n'en proposait que des simples pendant l'épreuve, mais la validation en utilisait secrètement des plus compliqués, alors que dans le deuxième, seul les vecteurs proposés étaient utilisés, et dans ce cas on demandait de supporter des matrices de 10 000 x 10 000, mais le test le plus gros ne faisait que 0,3 % de cette taille ! J'ai juste vérifié les 3 premiers C++ pour cette épreuve qui foirent tous avec un vecteur costaud (bien que le premier s'en tire sacrément bien), et je l'avait fait aussi pour le COD (avec un script cette fois) pour toutes les solutions, et les 3/4 étaient foireuses !
      • les limites imposées ici étaient mal choisies car trop proche des limites possibles de résolution (ex en mémoire pour l'exo 2 : 0.5 Go pour 0.1 milliard de cellules) ;
      • il serait aussi intéressant de mesurer l'optimisation en mémoire, en temps et en taille de code plutôt que uniquement le temps à coder.

      Mais malgré ces critiques, l'exercice était bien amusant et ce genre d'épreuve manque lorsqu'on aime coder, donc je ne vais pas faire la fine bouche… surtout que je suis loin d'approcher le haut du panier !

      • [^] # Re: À propos du retour vers l'exercice précédent

        Posté par (page perso) . Évalué à 3.

        il serait aussi intéressant de mesurer l'optimisation en mémoire, en temps et en taille de code plutôt que uniquement le temps à coder.

        ça devient encore plus compliqué de comparer les différents langages. En plus, il faut avoir encore plus de tests pour tester tout les cas où ces contraintes pour être pénalisantes.

        « Rappelez-vous toujours que si la Gestapo avait les moyens de vous faire parler, les politiciens ont, eux, les moyens de vous faire taire. » Coluche

      • [^] # Re: À propos du retour vers l'exercice précédent

        Posté par (page perso) . Évalué à 2.

        le python a 6 secondes pour s'exécuter, le C en a 1… normal me direz vous, c'est plus lent à exécuter… mais alors pourquoi on ne divise pas par 6 le temps à coder pour le C ?

        Je comprend pas bien la logique. Quel rapport entre le temps d'exécution (c'est à dire le temps que va mettre le compilateur / interpreteur à exécuter le programme) et le temps de code (qui lui devrait plutôt être fonction de l'expressivité du langage par exemple) ?
        Si tu veux moduler le temps de code, moi j'aurais plutôt divisé par 6 celui lié à python.
        M'enfin je vois pas le rapport en fait.

        • [^] # Re: À propos du retour vers l'exercice précédent

          Posté par . Évalué à 4.

          Soit tu fais le concours à l'arrache et c'est la même limitation pour tous les langages, soit tu essayes de compenser les avantages et faiblesses de chacun avec différents coefficients, mais tu fais les choses jusqu'au bout.

          Dans le cas du C / Python, par exemple, la lenteur d'exécution du Python est compensée, mais le manque d'expressivité du C ne l'est pas… résultat, en C tu te fais chier à coder tous les détails de bas niveau, et en plus tu dois optimiser l'algo car tu as 6 fois moins de temps d'exécution accordé (même si le binaire sera plus rapide).

          • [^] # Re: À propos du retour vers l'exercice précédent

            Posté par (page perso) . Évalué à 1.

            As-tu vraiment besoin de plus optimiser l'algo ? Je veux dire la différence de perf ne suffit-elle pas ?

            Et si je suis assez d'accord, je pense que ça doit être compliqué à ajuster par contre. (bon en même temps, et pour cette raison, lorsque j'ai fais quelques exos j'ai fait ça en js justement ;-)

        • [^] # Re: À propos du retour vers l'exercice précédent

          Posté par (page perso) . Évalué à 2.

          Si tu veux moduler le temps de code, moi j'aurais plutôt divisé par 6 celui lié à python.

          Je pense que ce qu'il voulait dire.

      • [^] # Re: À propos du retour vers l'exercice précédent

        Posté par . Évalué à 3.

        ce genre d'épreuve manque lorsqu'on aime coder

        Je te propose de faire les quelques milliers de problèmes type « ACM ICPC » disponibles sur le site de l'université de Valladolid.
        http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8

        Le FN est un parti d'extrême droite

    • [^] # Re: À propos du retour vers l'exercice précédent

      Posté par . Évalué à 1. Dernière modification le 29/07/13 à 21:29.

      La triche était également possible avant. Il suffisait de faire un deuxième compte bidon avec lequel on validait rapidement le premier exercice pour avoir accès au second.

Suivre le flux des commentaires

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.