Άλλη σκέψη εντελώς
Στον 1ο γύρο νικήτρια του ζευγαριού 1-2, μπαίνει στη θέση 1, του ζευγαριού 3-4 στη θέση 3, του ζευγαριού 5-6 στη θέση 5 κ.ο.κ.
Έτσι, στο 2ο γύρο θα παίξει ζευγάρι 1-3, με τον νικητή να μπαίνει στη θέση 1, ζευγάρι 5-7, με τον νικητή να μπαίνει στη θέση 5, 9-11 με το νικητή να μπαίνει στη θέση 9 κ.ο.κ.
Έτσι στον 3ο γύρο θα παίξει ζευγάρι 1-5 με το νικητή να μπαίνει στη θέση 1, ζευγάρι 9-13 με το νικητή να μπαίνει στη θέση 9, κ.ο.κ.
Έτσι μπορώ με «μαθηματικό» τρόπο να λέω ποιός είναι αντίπαλος με ποιον, και να μη χρειάζομαι τις σειριακές αναζητήσεις... επιπλέον, έτσι, ο κυπελλούχος θα καταλήξει στη θέση 1 σίγουρα
αλγόριθμος θέμα3
για ομ από 1 μέχρι 64
εμφάνισε “Όνομα ομάδας:”
διάβασε ΟΝ[ομ]
εμφάνισε “Πόλη που εδρεύει:”
διάβασε ΠΟΛΗ[ομ]
τέλος_επανάληψης
π ← 0
για γύρο από 1 μέχρι 6
για α από 1 μέχρι 64 με βήμα 2^γύρο
β ← α+2^(γύρο-1)
αν ΠΟΛΗ[α] = ΠΟΛΗ[β] τότε ! για την καταμέτρηση των αγώνων μεταξύ ομάδων απ'την ίδια πόλη
π ← π + 1
τέλος_αν
εμφάνισε “Αγώνας μεταξύ:”ΟΝ[α], “-”, ΟΝ[β]
αρχή_επανάληψης ! Έλεγχος εγκυρότητας για να μη δοθεί ισόπαλο σκορ
εμφάνισε “Σκορ αγώνα:”
διάβασε γκολ_α, γκολ_β
αν γκολ_α = γκολ_β τότε
εμφάνισε “Δεν επιτρέπεται ισόπαλο σκορ.”
τέλος_αν
μέχρις_ότου γκολ_α <> γκολ_β
αν γκολ_α < γκολ_β τότε !
αντιμετάθεσε ΟΝ[α], ΟΝ[β]
αντιμετάθεσε ΠΟΛΗ[α], ΠΟΛΗ[β]
τέλος_αν
τέλος_επανάληψης
τέλος_επανάληψης
εμφάνισε “Κυπελλούχος ομάδα:”, ΟΝ[1]
εμφάνισε π, “αγώνες έγιναν μεταξύ ομάδων της ίδιας πόλης.”
δ ← 1 ! για να μετρήσω το πλήθος των διαφορετικών πόλεων, και σίγουρα υπάρχει 1 πόλη
CITY[1] ← ΠΟΛΗ[1] ! Στον πίνακα city θέλω να βάλω τα ονόματα των διαφορετικών πόλεων
ΠΛΗΘ[1] ← 1 ! για να μετρήσω το πλήθος των ομάδων που εδρεύουν σε κάθε διαφορετική πόλη
για ομ από 2 μέχρι 64 ! για κάθε άλλη ομάδα
κ ← 0
αρχή_επανάληψης ! αναζητώ σειριακά μήπως έχω βάλει ήδη στον πίνακα city την πόλη της
κ ← κ + 1
μέχρις_ότου ΠΟΛΗ[ομ] = CITY[κ] ή κ = δ
αν ΠΟΛΗ[ομ] = CITY[κ] τότε ! Αν την έχω βάλει ήδη, απλά μετράω ότι βρήκα άλλη μια ομάδα
ΠΛΗΘ[δ] ← ΠΛΗΘ[δ] + 1 ! από την ίδια πόλη
αλλιώς
δ ← δ + 1 ! μετράω ότι βρήκα άλλη μια διαφορετική πόλη
CITY[δ] ← ΠΟΛΗ[ομ] ! Την αντιγράφω στον πίνακα city
ΠΛΗΘ[δ] ← 1 ! και σημειώνω ότι έχω βρει 1 ομάδα από αυτήν την πόλη
τέλος_αν
τέλος_επανάληψης
μαξ ← 0 ! άρα μετά το μόνο που μένει είναι να βρεθεί το μεγαλύτερο ΠΛΗΘ
για χ από 1 μέχρι δ
αν ΠΛΗΘ[χ] > μαξ τότε
μαξ ← ΠΛΗΘ[χ]
θ ← CITY[χ]
τέλος_αν
τέλος_επανάληψης
εμφάνισε “Οι περισσότερες ομάδες έχουν ως έδρα την πόλη”, θ
τέλος θέμα3