Code Monkey home page Code Monkey logo

hashcode-2020's Introduction

hashcode-2020

IlloDoh's solution to the Hashcode 2020 hackathon.

There's a pdf with the problem statement in the root of the directory.

How to execute

No extra dependencies are needed, vainilla python 3.6+ works fine.

Execute: python run.py and wait for a bit.

The solution will use all your cores by default, but if you want to tweak how many cores the program will use (or the overall configuration), please modify config.py.

Solutions will be stored in the solutions folder.

Architectural decisions

To get some context for this decisions, please read the problem statement before.

The solution is composed of five elements that work together:

  • Scheduler: Holds the logic of what to do on every available day. Uses different policies to sort which libraries to signup/scan first.
  • Policy: Function which returns a score of a library given certain circunstances to imply its preference before others. Used by the scheduler to make decisions.
  • Registry: Shared registry of books. Will store the books each library has registered and will avoid duplicates.
  • Library: Collection of books. Has a certain scan capacity and a certain signup delay.
  • Book: Dummy object containing the id and the score of the book.

Thank you notes

Thanks to my best friend, David, for sticking with me each and every year to participate together on this hackathon. I'm very proud and happy about how well we work together and how much do we enjoy this kind of challenges.

80/519 in Spain, not bad at all man :)

hashcode-2020's People

Contributors

davidmendozamartinez avatar javierluna avatar

Watchers

James Cloos avatar  avatar  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.