Coder Social home page Coder Social logo

georgevidalakis / pdp-archive.github.io Goto Github PK

View Code? Open in Web Editor NEW

This project forked from pdp-archive/pdp-archive.github.io

0.0 1.0 0.0 6.24 MB

Αρχείο Πανελλήνιου Διαγωνισμού Πληροφορικής

Home Page: https://pdp-archive.github.io

HTML 2.89% CSS 2.40% C++ 84.69% C 4.90% Pascal 3.48% OpenEdge ABL 0.42% Shell 0.60% JavaScript 0.62%

pdp-archive.github.io's Introduction

layout
default

Αρχείο Πανελλήνιου Διαγωνισμού Πληροφορικής (ΠΔΠ)

Σελίδα με στόχο την συλλογή εκφωνήσεων, testcases, λύσεων και κωδίκων για τους πανελλήνιους διαγωνισμούς πληροφορικής από τον 22ο και έπειτα, όπου και πρωτοεισήχθη το Hellenico. Οι εκφωνήσεις, τα testcases και οι κώδικες υπάρχουν ήδη σε αυτό τον φάκελο. Επομένως, μένει η συγγραφή (υψηλής ποιότητας) λύσεων για τα θέματα του διαγωνισμού.

Πώς να συνεισφέρετε

Μπορείτε να συνεισφέρετε με οποιοδήποτε από τα εξής:

  1. Συγγραφή λύσεων για κάποιο πρόβλημα. Στοχεύουμε για λύσεις που εξηγούν τις βέλτιστες λύσεις και παραδίδουν ενδεικτικούς κώδικες που τις υλοποιούν. Πολύ συχνά βοηθάει η εξήγηση λιγότερο αποδοτικών λύσεων. Σημείωση: Οι λύσεις δεν χρειάζεται να εξηγούν όλους τους γνωστούς αλγόριθμους που χρησιμοποιούν, αλλά θα πρέπει να δίνουν τα σωστά ονόματα ώστε να τους βρει κάποιους (ή μπορείτε να γράψετε ένα άρθρο στον Καλλίνικο).
  2. Μεταφορά εκφωνήσεων από pdf σε αρχεία markdown. Αυτό βοηθάει στο εξής:
    1. Είναι δυνατόν να διορθώσουμε πιθανά λάθη (ορθογραφικά ή και πιο σοβαρά).
    2. Είναι δυνατόν να προσθέσουμε πράγματα που λείπουν (πχ memory constraints).
    3. Είναι πιο εύκολο να τα μεταφέρουμε σε κάποιο άλλο format (πχ LaTeX ή για κάποιον grader).
  3. Διόρθωση λαθών σε εκφωνήσεις και λύσεις.

Οι λύσεις είναι γραμμένες σε markdown που είναι μία πολύ απλή γλώσσα για μορφοποίηση κειμένων (δείτε εντολές εδώ). Μπορείτε να γράψετε μαθηματικά ανάμεσα σε $$ (δείτε εδώ για σύμβολα).

Οδηγίες

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

Πώς να τρέξετε τοπικά το site

  1. Ακολουθήστε τα βήματα για την εγκατάσταση του Jekyll (και της Ruby) εδώ. Επιλέξτε το άρθρο ανάλογα με το λειτουργικό σύστημα που έχετε.
  2. Θα χρειαστείτε και εγκατάσταση του gem jekyll-redirect-from. Πx σε ubuntu αρκεί η εντολή gem install jekyll-redirect-from
  3. Κάντε clone αυτό το repository σας στον υπολογιστή σας. (Αν τώρα ξεκινάτε με το GitHub, δείτε αυτό.) Το μόνο που χρειάζεται να μάθετε είναι τι σημαίνει clone, commit, pull και merge)
  4. Πηγαίνετε στο τοπικό directory που κάνατε clone το repository.
  5. Τρέξτε την εντολή jekyll serve.
  6. Πηγαίνετε στην σελίδα localhost:4000 στον browser σας για να δείτε το site.
  7. Κάθε αλλαγή που κάνετε θα ανανεώνεται το site.
  8. Για να το σταματήσετε πατήστε Ctr+C και μετά Y.

Οδηγίες για την προσθήκη καινούργιας χρονιάς

Ακολουθήστε τα εξής βήματα:

  1. Προσθέστε στο _config.yml ένα καινούργιο collection με τις default μεταβλητές (απλά αντιγράψτε αυτά των άλλων διαγωνισμών). Την ίδια διαδικασία, στο ίδιο αρχείο, κάνουμε και για αυτά που υπάρχουν κάτω από τη γραμμή που γράφειο defaults:

  2. Δημιουργήστε ένα data αρχείο στο _data/contests/ΧΧ-PDP.yml

  3. Δημιουργήστε το contests/_ΧΧ-PDP/index.md με μόνο τα εξής:

    ---
    title: "ΧΧος Πανελλήνιος Διαγωνισμός Πληροφορικής (ΠΔΠ)"
    layout: summary
    tags: [summary]
    ---
    
  4. Ελέγξτε ότι στο localhost:4000/XX-PDP εμφανίζεται μία σελίδα χωρίς προβλήματα (μόνο με τις φάσεις). Μπορεί να πρέπει να σταματήσετε το jekyll serve και να το ξανατρέξετε.

Δείτε ένα παράδειγμα commit.

Οδηγίες για την προσθήκη καινούργιου προβλήματος

Ακολουθήστε τα εξής βήματα:

  1. Βρείτε το αρχείο _data/contests/ΧΧ-PDP.yml. Αυτό περιέχει όλα τα προβλήματα για έναν διαγωνισμό.

  2. Δημιουργήστε μία καινούργια εισαγωγή με την εξής δομή: (Δείτε αυτόν τον φάκελο για εκφωνήσεις, κώδικες και testcases)

    {codename - Το όνομα του αρχείου ειδόδου.}:
       full_name: {Γράψτε ολόκληρο τον τίτλο του προβλήματος. Κεφαλαία μόνο στην πρώτη λέξη και σε όσες χρειάζονται.}
       stage: {Οποιαδήποτε από "a", "bgym", "blyk", "c"}
       statement_pdf_url: {Link στo pdf της επίσημης εκφώνησης.} 
       testcases_url: {Link στο zip με τα testcases.}
       solution: false
       codes_url: {Link στο φάκελο με όλους τους κώδικες για το πρόβλημα και για την λύση σας.}
    

Προτιμότερο από το να δοθεί απλά link για τον κώδικα , είναι να ανεβάσουμε σε αυτό το repository τον κώδικα. Τότε η εντολή codes_url αντικαθίσταται από την codes_in_git: true

Για να γίνει αυτό, πρέπει να ακολουθήσετε και τις οδηγίες του source_code/README.md ώστε να τεστάρετε ότι η λύση σας είναι σωστή.

Δείτε ένα παράδειγμα commit.

Οδηγίες για την προσθήκη λύσης

Ακολουθήστε τα εξής βήματα:

  1. Βεβαιωθείτε ότι έχετε προσθέσει το πρόβλημα για το οποίο θα προσθέσετε λύση (δείτε εδώ).

  2. Βρείτε την εισαγωγή για το πρόβλημα στο _data/contests/ΧΧ-PDP.yml.

  3. Αλλάξτε τη μεταβλητή "solution: false" σε "solution: true".

  4. Στον φάκελο contests/_XX-PDP δημιουργήστε το αρχείο {φάση}-{codename}-solution.md (πχ c-dnaseq-solution.md).

  5. Ξεκινήστε το αρχείο με

    ---
    layout: solution
    codename: {codename προβλήματος}
    ---
    
  6. Γράψτε την λύση.

Δείτε ένα παράδειγμα commit.

Οδηγίες για προσθήκη εκφώνησης

Ακολουθήστε τα εξής βήματα:

  1. Βεβαιωθείτε ότι έχετε προσθέσει το πρόβλημα για το οποίο θα προσθέσετε λύση (δείτε εδώ).

  2. Βρείτε την εισαγωγή για το πρόβλημα στο _data/contests/ΧΧ-PDP.yml.

  3. Προσθέστε το "statement_md = true".

  4. Στον φάκελο contests/_XX-PDP δημιουργήστε το αρχείο {φάση}-{codename}-statement.md (πχ c-dnaseq-statement.md).

  5. Ξεκινήστε το αρχείο με

    ---
    layout: statement
    codename: {codename προβλήματος}
    ---
    
  6. Γράψτε την εκφώνηση.

Δείτε ένα παράδειγμα commit.

pdp-archive.github.io's People

Contributors

dim131 avatar geroveni avatar kipoujr avatar giorgosgiapis avatar mayanhut avatar georgevidalakis avatar pdp-archive avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.