Skip to main content

Για νέους συμμετέχοντες

Αν συμμετέχεις για πρώτη φορά στον Πανελλήνιο Διαγωνισμό Πληροφορικής, εδώ θα βρεις τις βασικές πληροφορίες για να ξεκινήσεις.

Τι είναι ο διαγωνιστικός προγραμματισμός;​

Στον διαγωνιστικό προγραμματισμό (competitive programming) καλείσαι να επιλύσεις προβλήματα σχεδιάζοντας αλγορίθμους και υλοποιώντας τους σε κώδικα.

Οι λύσεις αξιολογούνται σε διαφορετικές περιπτώσεις ελέγχου, με περιορισμούς στον χρόνο εκτέλεσης και στη χρήση μνήμης. Πολλά προβλήματα, όπως και τα προβλήματα του ΠΔΠ, χωρίζονται σε υποπροβλήματα (subtasks), τα οποία περιλαμβάνουν περιπτώσεις ελέγχου με πρόσθετους περιορισμούς, όπως μικρότερο μέγεθος εισόδου ή συγκεκριμένες ιδιότητες των δεδομένων. Έτσι, μπορείς να συγκεντρώσεις βαθμούς ακόμη κι αν δε βρεις λύση που να λύνει πλήρως το πρόβλημα.

Ξεκινώντας στον ΠΔΠ​

  • Κάνε εγγραφή. Θα λάβεις τα στοιχεία σύνδεσης στο σύστημα υποβολών μέσω email. Η αποστολή τους μπορεί να χρειαστεί μερικές μέρες. Αν δεν έχεις λάβει κάποιο μήνυμα, έλεγξε και τον φάκελο ανεπιθύμητης αλληλογραφίας (spam).
  • Μόλις λάβεις τα στοιχεία σου, συνδέσου στο σύστημα υποβολών και διάβασε τον οδηγό χρήσης.
  • Οι λύσεις σου πρέπει να είναι γραμμένες σε C++. Αν δεν τη γνωρίζεις καλά, μην περιμένεις να τη μάθεις τέλεια για να ξεκινήσεις. Προχώρησε με όσα ξέρεις και μάθαινε περισσότερα στην πορεία.
  • Για τον διαγωνιστικό προγραμματισμό δε χρειάζεται να εμβαθύνεις σε πιο σύνθετα χαρακτηριστικά της C++, όπως ο αντικειμενοστραφής προγραμματισμός ή ο προγραμματισμός με templates. Εστίασε στις βασικές δομές της γλώσσας και στην εξάσκηση στην επίλυση προβλημάτων.
  • Ξεκίνα από τα προβλήματα που σου φαίνονται πιο προσιτά. Δεν χρειάζεται να τα λύσεις όλα, ενώ μπορείς να συγκεντρώσεις αρκετούς βαθμούς ακόμη και από υποπροβλήματα.

Πώς να προετοιμαστείς​

Ενδεικτικά, μπορεί να σου φανούν χρήσιμες οι παρακάτω πηγές:

  • USACO Guide – Εκπαιδευτικός οδηγός με θεωρία, παραδείγματα και προβλήματα εξάσκησης, οργανωμένα ανά επίπεδο.
  • Competitive Programmer’s Handbook – Δωρεάν βιβλίο με συστηματική παρουσίαση αλγορίθμων και τεχνικών διαγωνιστικού προγραμματισμού.
  • Codeforces – Πλατφόρμα διαγωνιστικού προγραμματισμού με προβλήματα διαφορετικών επιπέδων δυσκολίας και τακτικούς διαδικτυακούς διαγωνισμούς.
  • pdp-archive – Ανεπίσημο αρχείο θεμάτων και λύσεων προηγούμενων ΠΔΠ.

Μπορείς επίσης να δηλώσεις συμμετοχή στα εβδομαδιαία μαθήματα προετοιμασίας του ΠΔΠ. Για απορίες σχετικά με την προετοιμασία σου, υπάρχει και η κοινότητα του ΠΔΠ στο Discord. Να θυμάσαι ότι η συζήτηση θεμάτων από ενεργούς διαγωνισμούς δεν επιτρέπεται.