Top 20

1 0x00h 700 pts
2 boris39 700 pts
3 neoxquick 681 pts
4 maf-ia 662 pts
5 thefinder 644 pts
6 benito255 608 pts
7 mego 591 pts
8 madbat2 581 pts
9 Mart 553 pts
10 Stupefy 533 pts
11 nikokks 512 pts
12 tehron 504 pts
13 Kithyane 502 pts
14 plucth 480 pts
15 egosum 473 pts
16 CoYoTe99 416 pts
17 Undr 415 pts
18 Zeta 415 pts
19 loonies2 411 pts
20 Armavica 409 pts

Classement complet

Shoutbox

12 May - 11:47 am

Working again now.

10 May - 4:05 pm

Hello, sorry for the late answer, in fact yes there is an issue with the mail, we will try to fix it quickly. Thanks for reporting

7 May - 6:07 pm

Hi there is a issue for the challenfe Email (number 21). I don't receive a mail on any of them: gmail, hotmail, yahoo. do i fail or is it the challenge ?

28 Feb - 10:35 am

Yes we fixed it

27 Feb - 10:00 pm

Thank you, just validated contest22. The solution checker seems to have been fixed.

27 Feb - 8:40 am

Yes several solutions are accepted of course. I will check one of your answers

26 Feb - 7:51 pm

No 500 error, but the solutions I'm submitting can be verified to be correct. It can't be that only one configuration is accepted, right? - as there are multiple correct configurations for each problem.

26 Feb - 5:54 pm

contest 22 is not concerned by the issue I found, and seems to be working (I suppose you don't have 500 error on this one ?). Your solutions are indeed rejected, but I did not check them yet

26 Feb - 3:25 pm

The validation for contest 22 also seems to be wrong (it's not accepting solutions that are clearly correct). I submitted bug report yesterday.

26 Feb - 9:59 am

Ok I fixed the issue It is higly possible that other challenges are impacted, so don't hesitate to tell meif you encounter this again. Thank you for reporting

Connexion
Mot de passe oublié

Supportez nousx

Vous aimez µContest ?
Supportez nous en votant (fun et difficulté) pour µContest sur WeChall :)
Si vous ne l'avez pas encore fait, profitez-en pour lier votre compte
Wechall à µContest pour pouvoir voter !

Merci

Liste des épreuves :: Divers :: Tower of Hanoï (30)

Résumé

ID : 30
Points : 15
Validations :
Page de l'épreuve
Reporter un bug

Description


Voici un problème classique en algorithmique, vous devez déplacer une tour de disques d'une tour à une autre, sauf qu'ici, au départ, les disques ne sont pas empilés que sur une tour mais sont répartis sur les trois.
Voici les règles :

- Chaque disque a une taille différente, représentée par un entier; 0 pour le plus petit.
- Vous n'avez le droit de déplacer qu'un disque à la fois.
- Vous ne pouvez poser un disque que sur un disque de taille supérieure.

Voici un exemple avec 4 disques à déplacer sur la tour 3 :

Position initiale :













Le nombre de disques initial et la tour cible varient, à récupérer dans les variables nb_disques et tour_cible.
Chaque disque est représenté par un entier, 0 pour le plus petit, 1 pour le 2e plus petit, etc.
La situation initiale vous est fournie dans trois variables tour1, tour2 et tour3. Ce sont des chaînes de caractères, codant les disques sur la tour en question. Dans l'exemple, les variables seraient :


char tour1[] = "1,0";
char tour2[] = "2";
char tour3[] = "3";


Les disques sont séparés par des virgules, en allant du plus gros disque (la base de la tour), au plus petit.

Il ne vous reste plus qu'à retourner l'enchaînement de mouvements permettant d'arriver à la situation finale, c'est à dire tous les disques sur la tour_cible. Pour cela, vous devez renvoyer une chaîne de caractères solution formatée de la façon suivante :
tour_depart>tourarrivee,tourdepart>tourarrivee,...
en remplaçant tour_depart et tour_arrivee par les numéros des tours correspondants pour chaque mouvement.
Les tours sont représentées par des entiers de 1 à 3.
Dans l'exemple, vous devriez renvoyer solution tel que :


char solution[] = "2>3,1>2,1>3,2>3";


Variables


Nom Type Description
Variables à récupérer
nb_disquesEntierintNombre de disques répartis sur les trois tours
tour_cibleEntierintTour sur laquelle doivent être déplacés les disques. Vaut 1 pour la tour 1, 2 pour la tour 2 et 3 pour la tour 3
tour1Chaîne de caractèreschar*Chaîne de caractères codant les disques initialement placés sur la tour 1, comme expliqué dans le texte.
tour2Chaîne de caractèreschar*Chaîne de caractères codant les disques initialement placés sur la tour 2, comme expliqué dans le texte.
tour3Chaîne de caractèreschar*Chaîne de caractères codant les disques initialement placés sur la tour 3, comme expliqué dans le texte.
Variables à renvoyer
solutionChaîne de caractèreschar*Chaîne de caractères codant les mouvements à effectuer pour que tous les disques se trouvent sur la tour_cible, suivant les règles expliquées dans le texte.