ΠΡΟΓΡΑΜΜΑ ΝΙΜ ΜΕΤΑΒΛΗΤΕΣ ΑΚΕΡΑΙΕΣ: ι, σπιρτα[4], σ1, σ2, σ4, ξ, γρ, πλ, αθρ ΑΡΧΗ αθρ <- 0 ΓΙΑ ι ΑΠΟ 0 ΜΕΧΡΙ 3 σπιρτα[ι + 1] <- 2*ι + 1 αθρ <- αθρ + σπιρτα[1 + ι] ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ ΓΡΑΨΕ "καλως ηρθες.Αρχικη διαταξη σπιρτων" ΚΑΛΕΣΕ ΕμφανισηΓραμμωνΚαιΣπιρτων(σπιρτα) ΟΣΟ αθρ > 0 ΕΠΑΝΑΛΑΒΕ ΓΡΑΨΕ "παιχτη 1 παιξε.διαλεξε γραμμη και πληθος σπιρτων" ΔΙΑΒΑΣΕ γρ, πλ ΟΣΟ σπιρτα[γρ] - πλ < 0 Η πλ <= 0 ΕΠΑΝΑΛΑΒΕ ΓΡΑΨΕ "μη αποδεκτη κινηση.δωσε γραμμη και σπιρτα που παιρνεις" ΔΙΑΒΑΣΕ γρ, πλ ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ σπιρτα[γρ] <- σπιρτα[γρ] - πλ ΓΡΑΨΕ "αφου επαιξες η διαταξη των σπιρτων ειναι αυτη" ΚΑΛΕΣΕ ΕμφανισηΓραμμωνΚαιΣπιρτων(σπιρτα) αθρ <- αριθμος_σπιρτων(σπιρτα) ΑΝ αθρ <> 0 ΤΟΤΕ ΓΡΑΨΕ "σειρα μου τωρα" ΚΑΛΕΣΕ RoadToVictory(σπιρτα) ΓΡΑΨΕ "αφου επαιξα και εγω η διαταξη ειναι αυτη" ΚΑΛΕΣΕ ΕμφανισηΓραμμωνΚαιΣπιρτων(σπιρτα) ΤΕΛΟΣ_ΑΝ αθρ <- αριθμος_σπιρτων(σπιρτα) ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ ΓΡΑΨΕ "ΧΑΧΑΧΑΧΑΧΑΧΑΧΑΧΑΧΑΧΑΧΑ" ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ ΔΙΑΔΙΚΑΣΙΑ RoadToVictory(σπιρτα) ΜΕΤΑΒΛΗΤΕΣ ΑΚΕΡΑΙΕΣ: ι, σπιρτα[4], πλ, γραμμη, αθρ, πλ1, πλ0, γρ2 ΛΟΓΙΚΕΣ: βρεθηκε ΑΡΧΗ βρεθηκε <- ΨΕΥΔΗΣ πλ1 <- 0 πλ0 <- 0 ΓΙΑ ι ΑΠΟ 1 ΜΕΧΡΙ 4 ΑΝ σπιρτα[ι] = 1 ΤΟΤΕ πλ1 <- πλ1 + 1 γρ2 <- ι ΑΛΛΙΩΣ_ΑΝ σπιρτα[ι] > 1 ΤΟΤΕ γραμμη <- ι ΑΛΛΙΩΣ πλ0 <- πλ0 + 1 ΤΕΛΟΣ_ΑΝ ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ ΑΝ πλ1 = 3 Η (πλ1 = 1 ΚΑΙ πλ0 = 2) ΤΟΤΕ σπιρτα[γραμμη] <- 0 ΑΛΛΙΩΣ_ΑΝ (πλ1 = 2 ΚΑΙ πλ0 = 1) Η (πλ0 = 3) ΤΟΤΕ σπιρτα[γραμμη] <- 1 ΑΛΛΙΩΣ_ΑΝ ( πλ1 = 2 ΚΑΙ πλ0 = 2) ΤΟΤΕ σπιρτα[γρ2] <- 0 ΑΛΛΙΩΣ ι <- 0 ΟΣΟ ι <= 3 ΚΑΙ βρεθηκε = ΨΕΥΔΗΣ ΕΠΑΝΑΛΑΒΕ πλ <- 1 ΟΣΟ σπιρτα[ι + 1] - πλ >= 0 ΚΑΙ βρεθηκε = ΨΕΥΔΗΣ ΕΠΑΝΑΛΑΒΕ σπιρτα[ι + 1] <- σπιρτα[ι + 1] - πλ βρεθηκε <- ΔυναμειςΤου2(σπιρτα) σπιρτα[ι + 1] <- σπιρτα[ι + 1] + πλ πλ <- πλ + 1 ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ ι <- ι + 1 ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ σπιρτα[ι] <- σπιρτα[ι] - (πλ - 1) ΤΕΛΟΣ_ΑΝ ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ ΣΥΝΑΡΤΗΣΗ ΔυναμειςΤου2(σπιρτα): ΛΟΓΙΚΗ ΜΕΤΑΒΛΗΤΕΣ ΑΚΕΡΑΙΕΣ: σ1, σ2, σ4, σπιρτα[4], ξ ΛΟΓΙΚΕΣ: βρεθηκε ΑΡΧΗ σ1 <- 0 σ2 <- 0 σ4 <- 0 ΓΙΑ ξ ΑΠΟ 1 ΜΕΧΡΙ 4 σ1 <- σ1 + σπιρτα[ξ] σ2 <- σ2 + σπιρτα[ξ] div 2 σ4 <- σ4 + σπιρτα[ξ] div 4 ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ σ2 <- σ2 - 2*σ4 σ1 <- σ1 - (2*σ2 + 4*σ4) βρεθηκε <- ΨΕΥΔΗΣ ΑΝ σ1 mod 2 = 0 ΚΑΙ σ2 mod 2 = 0 ΚΑΙ σ4 mod 2 = 0 ΤΟΤΕ βρεθηκε <- ΑΛΗΘΗΣ ΤΕΛΟΣ_ΑΝ ΔυναμειςΤου2 <- βρεθηκε ΤΕΛΟΣ_ΣΥΝΑΡΤΗΣΗΣ ΔΙΑΔΙΚΑΣΙΑ ΕμφανισηΓραμμωνΚαιΣπιρτων(σπιρτα) ΜΕΤΑΒΛΗΤΕΣ ΑΚΕΡΑΙΕΣ: ι, σπιρτα[4], ξ ΑΡΧΗ ΓΙΑ ι ΑΠΟ 1 ΜΕΧΡΙ 4 ΓΡΑΨΕ ι, ": " ΓΙΑ ξ ΑΠΟ 1 ΜΕΧΡΙ σπιρτα[ι] ΓΡΑΨΕ "| " ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ ΓΡΑΨΕ "" ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ ΣΥΝΑΡΤΗΣΗ αριθμος_σπιρτων(σπιρτα): ΑΚΕΡΑΙΑ ΜΕΤΑΒΛΗΤΕΣ ΑΚΕΡΑΙΕΣ: αθρ, ι, σπιρτα[4] ΑΡΧΗ αθρ <- 0 ΓΙΑ ι ΑΠΟ 1 ΜΕΧΡΙ 4 αθρ <- αθρ + σπιρτα[ι] ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ αριθμος_σπιρτων <- αθρ ΤΕΛΟΣ_ΣΥΝΑΡΤΗΣΗΣ