Bonjour,
Je souhaite résoudre le puzzle suivant:
Il y a eu un meurtre dans le village. L'objectif est de trouver le meurtrier. Tu demandes à tout le monde où il était pendant le crime et avec qui.
Les villageois te diront la vérité, seul le meurtrier te mentira.
Si tout le monde dit la vérité, tu es le meurtrier.
Peut tu trouver le meurtrier ?
Quelques règles:
- Le meurtrier peut dire qu'il était partout avec n'importe qui.
- The villageois n'ont pas vu le meurtrier
- The villageois n'étaient pas au même endroit que le meurtrier
- Si qqn dit qu'il était seul, ça donne aussi une info.
- Si tout le monde a un bon alibi alors tu es le tueur.
- SI le meurtrier dit qu'il est seul, il faut que ça soit prouvé.
Example case #1:
Input:
Solution:3
Paul: J'étais à l'école avec Benjamin
Benjamin: J'étais dans le workshop avec Raul.
Raul: j'étais dans le workshop avec Benjamin.
Paul est le tueur.
Explication:
Benjamin and Raul ont donné un bon alibi qu'il étaient ensemble.
Paul doit mentir.
Example case #2:
Input:
Solution:2
Patty: J'étais à l'église avec Bill.
Bill: j'étais seule à l'église
Patty est le meurtrier!
Explication:
Si aucun des deux est le meurtrier, ils auraient tous les deux dit qu'il étaient à l'église avec l'autre.
Voici ce que j'ai pensé en terme d'algorithme:
1) je demande à l'utilisateur le nombre de personnes qu'il interroge dans le village (exemple :2)
2) si l'utilisateur écrit 2, il aura écrira le nom de la personne interroge, sa location, et la personne avec qui il était. (exemple : Lucy Eglise Mary et Mary Piscine Amandine)
3) je met dans le premier élément d'une liste Lucy Eglise Mary et dans le deuxième élément Mary Piscine Amandine
=> Comment comparer les éléments 1 et 2 de la liste, c'est à dire ?
=> Est ce que c'est le bon raisonnement ?
Comment faire pour comparer les noms et lieux sur chaque élément de ma liste ?
Voici ce que j'ai commencé à écrire en code Java:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41 public class MurderVillage { public static void main(String[] args) { System.out.println("Quel est le nombre d'iteration"); Scanner scanner = new Scanner(System.in); int scannerInt = scanner.nextInt(); List<String> myList = new ArrayList<>(); System.out.println("Where where you ?"); for (int i =scannerInt; i>=0; i-- ) { // val line = readLine // println(line) String envoi = scanner.nextLine(); myList.add(envoi); } Iterator itr= myList.iterator(); while (itr.hasNext()) { System.out.println("while loop"); System.out.println(itr.next()); } } }
Partager