Sujet :
Défis C
-
4ème défi C & C++ : Balade dans le métro parisien
Bonjour à toutes et à tous,
Le 4ème défi C & C++ est lancé. Il s'agit de rechercher le meilleur itinéraire entre 2 stations dans le métro parisien. Ce défi commence aujourd'hui (samedi 9 mai 2009) et les copies sont ramassées le dimanche 14 juin 2009 à minuit.
Pour plus d'information, les différents points d'entrée sont :
Si vous prévoyez de participer au défi, envoyez un petit MP aux organisateurs. Il ne s'agit nullement d'un engagement de votre part mais cela nous permet de composer un jury avec suffisamment de membres en fonction du nombre de réponses prévisibles.
Si vous avez la moindre question concernant ce défi ou si un point du règlement vous parait obscur, il suffit de poster dans la suite de ce message (les questions et les réponses sont publiques).
Un complément d'information concernant ces critères dévaluation des différents projets et ce qu'ils sous entendent sera fourni pendant le déroulement de ce défi. Il n'est pas exclu non plus que certains critères ne disparaissent ou bien fusionnent avec d'autres critères ni que de nouveaux critères n'apparaissent. Toutefois, le poid total de chacune des 5 grandes familles de critères ne sera pas remis en cause. Toute mise à jour des critères fera l'objet d'une diffusion dans ce post.
Bon courage à tous
Raymond
Vous souhaitez participer à la rubrique
Réseaux ?
Contactez-moi
Cafuro
Cafuro est un outil SNMP dont le but est d'aider les administrateurs système et réseau à configurer leurs équipements SNMP réseau.
e-verbe
Un logiciel de conjugaison des verbes de la langue française.
Ma page personnelle sur DVP.
-
J'ai une question...
Le règlement dit :
"Les correspondances entre les différentes lignes doivent être détectées par la concordance des noms des stations sur les différentes lignes."
Si je l'applique à la lettre, cela signifie que la ligne de RER E n'est pas connectée au reste du réseau (qui n'a ni station Haussmann-Saint Lazare, ni station Magenta), que la station Auber (de la ligne A du RER) n'est pas connectée au reste du réseau, ou que Saint Michel et Saint Michel Notre Dame ne correspondent pas (pas plus que Neuilly Porte Maillot, ou un certain nombre de stations de la ligne C).
Est ce le cas?
Sinon, ne serait il pas préférable de produire une liste des correspondances, (le cas de stations comme Auber, qui correspondent avec plusieurs stations du métro, étant problématique...)?
Francois
-
Bonjour,
Comme vient de le dire implicitement fcharton,peut-on utiliser un autre fichier comme base de travail?
Un fichier indiquant les correspondances par exemple....
Edit:Quand vous dîtes "-h afffiche l'aide en ligne",je dois renvoyer l'utilisateur vers un page web?
-
Cool, un nouveau défis !
Je dois dire que je me pose la même question que les personnes ci-dessus. La gestion des correspondances est un peu ambigüe dans le fichier texte.
Ok pour les stations utilisées par plusieurs lignes et qui ont le même nom, mais les lignes qui ont des stations de noms différents mais qui en réalité sont une correspondance ?
-

Envoyé par
Bueno
Quand vous dîtes "-h afffiche l'aide en ligne",je dois renvoyer l'utilisateur vers un page web?
Non, cela veut dire que le programme doit affichier (par printf ou cout) le mode de lancement du programme et quelques lignes d'explication des différents paramètres.
Regarde sur le précédent défi comment ont fait les autres. C'est une pratique courante sur beaucoup de programmes "unix like". Quand on ne sait pas quels paramètres accepte un programme, on fait programme -h pour les connaitre et avoir une petite idée sur leur signification et leur usage.
Raymond
Vous souhaitez participer à la rubrique
Réseaux ?
Contactez-moi
Cafuro
Cafuro est un outil SNMP dont le but est d'aider les administrateurs système et réseau à configurer leurs équipements SNMP réseau.
e-verbe
Un logiciel de conjugaison des verbes de la langue française.
Ma page personnelle sur DVP.
-

Envoyé par
fcharton
Le règlement dit :
"Les correspondances entre les différentes lignes doivent être détectées par la concordance des noms des stations sur les différentes lignes."
Si je l'applique à la lettre, cela signifie que la ligne de RER E n'est pas connectée au reste du réseau (qui n'a ni station Haussmann-Saint Lazare, ni station Magenta), que la station Auber (de la ligne A du RER) n'est pas connectée au reste du réseau, ou que Saint Michel et Saint Michel Notre Dame ne correspondent pas (pas plus que Neuilly Porte Maillot, ou un certain nombre de stations de la ligne C).
Est ce le cas?
C'est le cas et dans ce cas, il sera impossible d'aller vers auber si la station d'origine n'est pas une autre station sur la ligne A
C'est le fichier fourni sur la page du défi qui doit être utilisé et pas un autre. Interdiction de le modifier pour coller un peu mieux à la réalité. C'est peut être frustant mais le métro parisien est plein de petites particularités et il n'apporte rien pour ce défi de toutes les prendre en compte.
Une autre remarque, votre programme doit être le plus indépendant possible du contenu du fichier et ne doit rien supposer ou interpréter. Ce n'est peut être pas ce fichier qui sera utilisé lors de l'analyse de vos projets par les membres du jury.
Raymond
Vous souhaitez participer à la rubrique
Réseaux ?
Contactez-moi
Cafuro
Cafuro est un outil SNMP dont le but est d'aider les administrateurs système et réseau à configurer leurs équipements SNMP réseau.
e-verbe
Un logiciel de conjugaison des verbes de la langue française.
Ma page personnelle sur DVP.
-
Salut,
dans les argv, il y a peut-être un problème du fait des noms de stations qui peuvent contenir des espaces. Faut-il "bricoler" dans les arguments, ou spécifie t-on dans le règlement qu'il ne faut pas passer de noms composés en arguments, ou encore précise t-on qu'il faut les entourer de guillemets?
A+
Pfeuh
-

Envoyé par
pfeuh
dans les argv, il y a peut-être un problème du fait des noms de stations qui peuvent contenir des espaces. Faut-il "bricoler" dans les arguments, ou spécifie t-on dans le règlement qu'il ne faut pas passer de noms composés en arguments, ou encore précise t-on qu'il faut les entourer de guillemets?
Je crois (mais c'est à confirmer) que si tu dois passer un argument avec des espaces à un programme, il suffit de l'encadrer avec des double quotes. Il arrive alors dans le programme (argv) sans les double quotes mais avec les espaces et tout et tout (d'ailleurs, c'est comme cela que l'on passe un nom long Microsoft comme "c:\program files")
Raymond
Vous souhaitez participer à la rubrique
Réseaux ?
Contactez-moi
Cafuro
Cafuro est un outil SNMP dont le but est d'aider les administrateurs système et réseau à configurer leurs équipements SNMP réseau.
e-verbe
Un logiciel de conjugaison des verbes de la langue française.
Ma page personnelle sur DVP.
-
Bonjour
Chic un nouveau défi, je vais me refaire...
Mais pour commencer, j'ai une question :
Je vois dans les règles que l'on peut utiliser boost. Je suis interressé par boost::program_option, mais cette bibliothèque nécessite une compilation, et ne peut être utilisé directement (en header only). Cela pose t il problème ?
De plus, je galère pour trouver un moyen de lire un fichier Unicode de manière standard (voire les FAQ par exemple...)
--
Jérémie
-

Envoyé par
ram-0000
Une autre remarque, votre programme doit être le plus indépendant possible du contenu du fichier et ne doit rien supposer ou interpréter. Ce n'est peut être pas ce fichier qui sera utilisé lors de l'analyse de vos projets par les membres du jury.
Il va bien falloir, pourtant, faire quelques hypothèses sur la nature des réseaux que l'on peut rencontrer... Peut on tabler sur les éléments suivants (qui me semblent découler du format du fichier choisi) ?
1- les lignes sont parcourues dans les deux sens, et dans le même ordre à l'aller et au retour
2- il n'y a pas de lignes circulaires, ni de fourches (ou s'il y en a, comment les noterait on dans le fichier)
3- en revanche, toutes les stations ne sont pas forcément connectées, il appartient au programme de le préciser à l'utilisateur
4- comme les correspondances sont définies par les noms des stations, on ne peut avoir une correspondance entre deux stations de la même ligne (exemple réel : havre caumartin, opera)
Peut on faire l'hypothèse suivante (qui me parait saine, mais ne va pas de soi compte tenu du format de fichier en entrée)?
Une ligne ne peut se croiser elle même (c'est à dire qu'on n'a jamais besoin de changer pour prendre la même ligne)
Francois
-

Envoyé par
fcharton
1- les lignes sont parcourues dans les deux sens, et dans le même ordre à l'aller et au retour
Oui, enfin le retour se parcours dans l'ordre inverse tout de même.

Envoyé par
fcharton
2- il n'y a pas de lignes circulaires, ni de fourches (ou s'il y en a, comment les noterait on dans le fichier)
Oui

Envoyé par
Les règles du défi
certaines lignes de métro ont été modifiées et simplifiées afin de supprimer les petites particularités locales. Ainsi par exemple sur la ligne 13, le double terminus Gabriel Péri/Asnières-Gennevilliers et Saint-Denis-Université ont été supprimés pour ne laisser qu'un seul terminus Saint-Denis-Université. Ou encore sur la ligne 10, la boucle du côté de Boulogne Pont de Saint-Cloud a été supprimée,

Envoyé par
fcharton
3- en revanche, toutes les stations ne sont pas forcément connectées, il appartient au programme de le préciser à l'utilisateur
Je ne comprends pas

Envoyé par
fcharton
4- comme les correspondances sont définies par les noms des stations, on ne peut avoir une correspondance entre deux stations de la même ligne (exemple réel : havre caumartin, opera)
Si on reprend cet exemple, "havre caumartin, opera", c'est ce que j'appelle une correspondance piétonne et elle ne peut être retenue par le programme comme une correspondance réelle car les noms des 2 stations sont différents. Les correspondances entre 2 lignes doivent être détectées par le programme par le fait que les noms des stations sont identiques (aux accents et signes prêts)

Envoyé par
Les règles du défi
les correspondances "piétonnes" (comme celle entre Pereire sur la ligne 3 et Pereire-Levallois sur le RER C) entre stations sont ignorées

Envoyé par
fcharton
Une ligne ne peut se croiser elle même (c'est à dire qu'on n'a jamais besoin de changer pour prendre la même ligne)
Oui, une ligne ne peut se croiser, il n'y a pas de boucle sur la même ligne
Il se peut que malgré toute l'attention que j'ai apportés au fichier de définition des stations, il y ait un problème dedans (nul n'est parfait
). Dans ce cas, ne pas hésiter à me le faire savoir par un petit MP ou à le signaler dans ce post.
Raymond
Vous souhaitez participer à la rubrique
Réseaux ?
Contactez-moi
Cafuro
Cafuro est un outil SNMP dont le but est d'aider les administrateurs système et réseau à configurer leurs équipements SNMP réseau.
e-verbe
Un logiciel de conjugaison des verbes de la langue française.
Ma page personnelle sur DVP.
-
Bonsoir,
J'aurais quelques petites questions.
Lorsqu'on passe par une "station intermédiaire" (option -i), doit-on compter le temps de correspondance entre 2 lignes du métro(option -c), dans chacun des cas suivants:
- Lorsqu'on change de ligne? (D'après les règles, oui)
- Lorsqu'on reste sur la même ligne? (D'après les règles, non, mais cela ne parait pourtant pas absurde)
- Lorsqu'on fait demi-tour, sur la même ligne? (La, rien dans les règle, mais il me semblerait logique que oui)
Discussions similaires
-
Réponses: 0
Dernier message: 09/05/2009, 12h31
-
Réponses: 0
Dernier message: 09/05/2009, 12h29
Partager