Résultat du défi : Les 100.000 boites

Bonsoir,

Les Golgoths ont décidé de clore le premier défi, qui n’était en réalité qu’une introduction.. aux autres défis qu’ils vous réservent, enfin, vous le verrez dans les prochaines semaines.

Déjà, un grand bravo, à tous les participants ! Les golgoths sont fiers d’avoir eu autant de volontaires dès la première épreuve.

Le défi consistait donc à calculer le volume des boites, puis à trier la liste, de sorte que la plus grosse boite se trouve directement au bout de la liste.

Voici, une des participation, parmi les autres que vous pouvez retrouver sur le forum

La participation de pseudocode en java :

   1: import java.io.FileReader;
   2: import java.io.FileWriter;
   3: import java.util.ArrayList;
   4: import java.util.Collections;
   5: import java.util.Comparator;
   6:  
   7: public class Test {
   8:  
   9:     static class Box {
  10:         int x,y,z,volume;
  11:         public Box(int x, int y, int z) {
  12:             this.x=x; this.y=y; this.z=z;
  13:             this.volume=x*y*z;
  14:         }
  15:         public String toString() {
  16:             return this.x+,+this.y+,+this.z;
  17:         }
  18:     }
  19:     
  20:     public static void main(String[] args) throws Exception {
  21:         ArrayListBox> list = new ArrayListBox>();
  22:         
  23:         // read file and insert into list
  24:         FileReader reader = new FileReader(box.txt);
  25:         while(reader.ready()) {
  26:             int x=0,y=0,z=0,d;
  27:             while((d=reader.read())!=',') x=10*x+(d-'0');
  28:             while((d=reader.read())!=',') y=10*y+(d-'0');
  29:             while((d=reader.read())!=';') z=10*z+(d-'0');
  30:             list.add(new Box(x, y, z));
  31:         }
  32:         reader.close();
  33:  
  34:         // sort the list
  35:         Collections.sort(list, new ComparatorBox>() {
  36:             public int compare(Box b1, Box b2) { return b1.volume-b2.volume; }
  37:         });
  38:  
  39:         // write the sorted list to file
  40:         FileWriter writer = new FileWriter(sorted.txt);
  41:         for(Box box:list)
  42:             writer.append(box.toString()).append(';');
  43:         writer.close();
  44:     }
  45: }

Encore un grand merci, à tous les participants, qui je l’espère seront là pour le prochain défi !

Défi des Golgoth : Pas de triche

Bonjour,

Les Golgoths ne tolèrent pas les tricheurs, et ont donc mis au point une technique qui ne permet à aucun élève d’une classe de tricher lors d’un examen important.

information

Comme le montre l’image ci dessus, l’élève peux essayer de tricher en regardant sur la copie en haut à droite, en haut à gauche, à droite et à gauche. Les Golgoths ont donc décidé qu’il serait interdit de placer les élèves de sorte qu’ils puissent effectivement tricher. Il y a aussi dans les salles de classe des places qui ne sont plus praticables, où les chaises ou les tables sont cassées, ou absentes.

Votre tâche est donc de déterminer, suivant la classe que nous vous donnerons, le maximum d’élèves que la classe peut contenir, sans qu’aucun des élèves puisse tricher.

La première ligne du fichier vous donne le nombre de salles de classe.
Chaque salle de classe est décrite comme ceci : deux entiers, la longueur et la largeur de la salle.
Les lignes suivantes décrivent la classe en elle même. Chaque caractère est soit un ‘.’ ce qui signifie que la place peut être occupée, soit un ‘x’ qui signifie que la place ne peut pas être occupée (la table est cassée…)

Pour chaque classe, vous devez indiquer le maximum d’élèves que la classe peut contenir sans qu’aucun des élèves puisse tricher.

voici le fichier des classes

Ce problème est inspiré d’une épreuve de Google code Jam (GCJ 2008 Round 3).

Le défis des golgoths

Bonjour !

Je ne vous ai pas raconté, mais dans le monde d’où je viens, ma tribu est très curieuse de résoudre des problèmes en tout genre. C’est pourquoi, les golgoths (comme on les nomme) m’ont désigné pour vous transmettre une liste de petits problèmes que je vous proposerai donc de résoudre… Bien sûr, les Golgoths ont eux aussi résolu tous les problèmes dons je vous parle, et ils cherchent maintenant, le plus habiles des humains pour les défier !

1er défi, Les 100.000 boites
Lire la suite

Ubiquity : l’invite de commande made in web

Bonjour,

La plupart des informaticiens et surtout des développeurs utilise avec rapidité les invites de commande, surtout dans les environnements UNIX.

Pourquoi ? tout simplement parce que c’est plus rapide ! à première vu ça parait très fastidieux mais la prise en main est assez simple, et toute les consoles sont maintenant capable d’auto-compléter vos commandes avec la touches TAB.

Ubiquity

Prenez un navigateur web, ajouter une petite touche de génie sortie des Labs Mozilla, et vous obtenez Ubiquity, c’est frais et ça change la vie d’un navigateur. C’est bien sur la petit renard qui nous propose cette option, le module se présente donc sous forme de fenêtre noir qui vient glisser dans le navigateur après avoir tapé simultanément sur les touches ctrl + espace, après libre à vous de tapez la commande qui vous intéresse, il en existe déjà pas mal.

Lire la suite