Σου έχω επίκαιρο πρόβλημα: Λύσε το Receipt Allocation Problem.
Ως γνωστό, οι αποδείξεις καταχωρούνται στη φορολογική δήλωση. Τα πρόσωπα που υποβάλλουν ξεχωριστή φορολογική δήλωση σε μια οικογένεια μπορεί να είναι πάρα πολλά (σύζυγοι, παιδιά που εργάζονται, παππούδες - γιαγιάδες κ.ο.κ.), ενώ η "δεξαμενή" των αποδείξεων κοινή. Οι αποδείξεις είναι πάρα πολλές, συνήθως χιλιάδες ή ακόμα και δεκάδες χιλιάδες, κατά κανόνα χωρίς προσωποποιημένο αποδέκτη. Ο φορολογικός στόχος για κάθε πρόσωπο είναι διαφορετικός. Πως θα μοιράσεις τις αποδείξεις, έτσι ώστε να επιτυγχάνεται η μέγιστη δυνατή ωφέλεια ή η μικρότερη δυνατή ζημία για όλους; Δεκτές και suboptimal λύσεις. Ειδικές περιπτώσεις αποτελούν α) το ενδεχόμενο κάποιες από αυτές τις αποδείξεις να είναι προσωποποιημένες και β) αποδείξεις ορισμένων επαγγελματικών κλάδων να έχουν διαφορετική "βαρύτητα" από εκείνες των υπολοίπων κλάδων.
Bonus: Δε χρειάζεται να ξέρεις βάσεις δεδομένων, ORMs, SQL και διάφορα άλλα τέτοια "πεζά" επειδή δε χρειάζεσαι βάση δεδομένων για τις αποδείξεις. Μπορείς μια χαρά να φτιάξεις γεννήτρια τυχαίων αποδείξεων με το πλήθος που θα καθορίσεις εσύ και την κατανομή των ποσών που εσύ θέλεις να μελετήσεις.
Μπορείς επίσης να προσεγγίσεις το πρόβλημα με διαφορετικούς αλγορίθμους και να κάνεις μια συγκριτική μελέτη για την αποτελεσματικότητα του καθενός από αυτούς.
Καλή επιτυχία.
Ακόμα κι ένας άνθρωπος μπορεί ν' αλλάξει τον κόσμο. Μη θέλεις να κυβερνήσεις. Απλά δείξε το μονοπάτι κι ο κόσμος θ' ακολουθήσει!!