[Algorithmie] Les chans IRC - Version imprimable +- N-PN White-Hat Project (https://dev.n-pn.fr/forum) +-- Forum : Questions (https://dev.n-pn.fr/forum/forumdisplay.php?fid=11) +--- Forum : Question diverses (https://dev.n-pn.fr/forum/forumdisplay.php?fid=30) +--- Sujet : [Algorithmie] Les chans IRC (/showthread.php?tid=3207) |
[Algorithmie] Les chans IRC - InstinctHack - 21-07-2013 io, un nouveau challenge de programmation que m'as proposer bofh. Bofh a écrit :y'a un problème sympa qui serait de déterminer combien de chans il faut former, pour que tous les gens qui s'entendent bien aient au moins un chan en commun, et que les gens qui s'entendent pas aient aucun chan en commun en pièce jointe, vous trouverez un fichier de données. sur la première ligne, la liste des pseudos (oui, très classe comme pseudo ) sur les suivantes une liste de couple qui représente des animosités entre deux pseudos. mon résultat : langage : PHP nombre : 30 temps : 4m45.973s bon courage ! RE: [Algorithmie] Les chans IRC - Wabouz - 21-07-2013 Moi qui pensait faire ça avec une feuille et un crayon ^^ RE: [Algorithmie] Les chans IRC - b0fh - 21-07-2013 PS: il faut évidemment minimiser le nombre de chans. Le format de sortie n'est pas précisé, mais une ligne par chan avec la liste des pseudos membres, ça me parait raisonnable ! Deuxième détail: en pratique, on ne ferait pas de chans de deux personnes, on dirait qu'ils causent simplement en privé, mais pour ce problème, considérons les privés comme des petits chans. Ou autrement dit, on cherche a minimiser le nombre total de chans + de privés. Un exemple d'exécution: Input: Code : 1 2 3 4 Signifie que 1 et 2 ne s'aiment pas, et que 1 et 3 ne s'aiment pas, et la solution est: Code : 1 4 soit 2 chans; on voit qu'en effet, 1 et 2 ne sont jamais dans le même chan, 1 et 3 ne sont jamais dans le même chan, et toutes les autres paires possibles [(1,4), (2,3), (2,4), (3,4)] existent dans au moins un chan. RE: [Algorithmie] Les chans IRC - Wabouz - 21-07-2013 ça soulève un point pour la résolution de l'exo. À partir de combien de personnes dans le chan on considère que c'en est un?... RE: [Algorithmie] Les chans IRC - notfound - 21-07-2013 Bin 3 en tout ! cf. le post de b0fh. 2 personnes sur un chan pourrait-être considéré comme n'en étant pas un, mais plutôt comme étant un private. Mais je crois pas qu'il faille se soucier de ça. RE: [Algorithmie] Les chans IRC - InstinctHack - 22-07-2013 voilà mon résultat qui montre qu'une amélioration est sûrement possible Code : 0 1 3 6 8 22 24 28 30 40 43 53 60 61 62 120 138 183 199 216 403 444 449 492 Et oui, le code génére des "groupes" jamais le numéro 0 ne parleras avec 498, pourtant ils se détestent pas. (pour les perf de temps, je crois que je peux pas mal descendre mais avec une augmentation de la mérmoire utilisée) Allez, à vous :p edit : et FUCK j'ai un private entre 470 et 498 edit2 : je confirme je viens de passer de 4m45.973s à 1.752s pour le même résultat |