Το πρόβλημα είναι να βρείς τον μικρότερο αριθμό. Η λύση μου είναι να βρεί ο κάθε εργαζόμενος το
μικρότερο στη στήλη του και ο εργαζόμενος που είναι δίπλα στον καταστροφέα θα αναλάβει να
βρει τον μικρότερο από αυτούς που λογικά θα είναι και ο μικρότερος από όλους.
Να σημειωθεί ότι τα επίπεδα 36-38 βασίζονται στο κώδικα του επιπέδου 34.
Η λύση μου είναι βέλτιστη χρονικά αλλά όχι σε πλήθος εντολών.
Ένα καλό ερώτημα είναι πόσο ποιό αποδοτικός είναι ο παράλληλος αλγόριθμος από την
περίπτωση του ενός εργαζόμενου.
Για για Ν αριθμούς ένας εργαζόμενος πρέπει εκτελέσει ~Ν βήματα.
Όμως στον παράλληλο έχουμε ~ Ρίζα(Ν) + Ν ,οπότε βασικά ρίζα(Ν)
Για 10000 αριθμούς έχουμε χρόνο αντίστοιχο 100 βημάτων.
-- 7 Billion Humans (2053) -- -- 38: Seek and Destroy 3 -- if w == wall: jump a endif mem3 = nearest wall mem1 = set 99 b: step n if n == wall: jump c endif if c == datacube: mem2 = nearest datacube if mem2 <= mem1: mem1 = set mem2 endif endif jump b pickup c mem1 = set myitem c: pickup mem1 step mem3 drop step n end a: step se mem2 = set 99 mem1 = nearest shredder d: if e != datacube: jump d else: jump e endif e: f: if e != hole: step e mem3 = nearest datacube if mem3 <= mem2: mem2 = set mem3 endif jump f else: step mem2 pickup c step mem1 giveto s end endif
Ετικέτες:7BH, 7billionhumans, παράλληλος_προγραμματισμός