America’s Cup – Λύση

Κυρίως Πρόγραμμα…

ΠΡΟΓΡΑΜΜΑ AmericasCup
 ΜΕΤΑΒΛΗΤΕΣ   !ΕΡΩΤΗΜΑ 1
  ΑΚΕΡΑΙΕΣ: i, j, F[20,20], N[20], MAX, MIN, S
  ΧΑΡΑΚΤΗΡΕΣ: ON[20], Winner
  ΛΟΓΙΚΕΣ: flag
 ΑΡΧΗ
  ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 20   !ΕΡΩΤΗΜΑ 2
   ΓΡΑΨΕ 'Δώστε το όνομα του ', i, 'ου σκάφους'
   ΔΙΑΒΑΣΕ ΟΝ[i]
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
  ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 20   !ΕΡΩΤΗΜΑ 3
   ΓΙΑ j ΑΠΟ 1 ΜΕΧΡΙ 20
    ΑΝ i=j ΤΟΤΕ
     F[i,j] -1
    ΑΛΛΙΩΣ
     ΔΙΑΒΑΣΕ F[i,j]
    ΤΕΛΟΣ_ΑΝ
   ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
  ΚΑΛΕΣΕ ΝίκηΑνάΣκάφος(F,N) !ΕΡΩΤΗΜΑ 4
  MAX  N[1]    !ΕΡΩΤΗΜΑ 5
  Winner  ON[1]
  ΓΙΑ i ΑΠΟ 2 ΜΕΧΡΙ 20
   ΑΝ Ν[i]>MAX ΤΟΤΕ
    ΜΑΧ  Ν[i]
    Winner  ON[i]
   ΤΕΛΟΣ_ΑΝ
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
  ΓΡΑΨΕ 'Νίκησε το σκάφος: ', Winner
  MIN  F[1,2]    !ΕΡΩΤΗΜΑ 6
  ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 20
   ΓΙΑ j ΑΠΟ 1 ΜΕΧΡΙ 20
    ΑΝ i<>j ΤΟΤΕ !ή ισοδύναμα F[i,j]<>-1
     ΑΝ F[i,j]< MIN ΤΟΤΕ
      ΜΙΝ  F[i,j]
     ΤΕΛΟΣ_ΑΝ
    ΤΕΛΟΣ_ΑΝ
   ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
  ΓΙΑ j ΑΠΟ 1 ΜΕΧΡΙ 20 !ΕΡΩΤΗΜΑ 7
   flag  ΨΕΥΔΗΣ
   ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 20
    ΑΝ F[i,j]=MIN ΤΟΤΕ
     flag  ΑΛΗΘΗΣ
    ΤΕΛΟΣ_ΑΝ
   ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
   ΑΝ flag=ΑΛΗΘΗΣ ΤΟΤΕ
    ΓΡΑΨΕ ΟΝ[j]
   ΤΕΛΟΣ_ΑΝ
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
  ΓΙΑ j ΑΠΟ 1 ΜΕΧΡΙ 20    !ΕΡΩΤΗΜΑ 8
   ΑΝ ΟΝ[j]='ALINGHI' ΤΟΤΕ
    S  0
    ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 20
     ΑΝ i<>j ΤΟΤΕ
      S  S + F[i,j]
     ΤΕΛΟΣ_ΑΝ
    ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
   ΤΕΛΟΣ_ΑΝ
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
  ΓΡΑΨΕ 'Το Alinghi δέχτηκε ',S ' fouls'
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ

Διαδικασία…

ΔΙΑΔΙΚΑΣΙΑ ΝίκηΑνάΣκάφος (F, N)   !ΕΡΩΤΗΜΑ 9
 ΜΕΤΑΒΛΗΤΕΣ
  ΑΚΕΡΑΙΕΣ: i, N[20], j, F[20,20]
 ΑΡΧΗ
  ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 20
   Ν[i]  0
   ΓΙΑ j ΑΠΟ 1 ΜΕΧΡΙ 20
    ΑΝ i<>j ΤΟΤΕ
     ΑΝ F[i,j]<=F[j,i] TOTE
      N[i]  N[i] + 1
     ΤΕΛΟΣ_ΑΝ
    ΤΕΛΟΣ_ΑΝ
   ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ
Advertisement