/tssoj-solutions

Official Solution Repository for the Thornhill Secondary School Online Judge

Primary LanguageJava

Thornhill Secondary School Online Judge Solutions

This repository contains a database of solutions in various languages to the problems posed on the Thornhill Secondary School Online Judge.

About TSSOJ

TSSOJ is an online database of programming problems that can be used to test a programmer's understanding of concepts and algorithms. This repository aims to gather the solutions to these problems implemented in various different languages submitted by users of the online judge. When using this repository, it should be for educational purposes only. The solution should be fully understood before it is submitted under the reader's TSSOJ account.

The solution files are named identically to the corresponding problem code on TSSOJ with the file extension denoting the solution's language. A problem's code is the same as the path extension in the URL (The problem code of this problem is helloworld).The files are located in the respective category folders representing the category of the problem on TSSOJ.

Contributing

If you wish to contribute to the solutions repository please make sure of the following if you are adding a new solution:

  1. The solution does not already exist in this repository implemented in the submitted language. You may contribute a solution implemented in a language that has not already been added.
  2. The solution passes all test cases on TSSOJ.
  3. Although not required, the solution should be properly documented. The general idea behind the solution should be included as comments in the program. Unless the solution is trivial.
  4. The solution uses reasonable coding standards. There are no restrictions on specific brace style, indentation etc. as long as it is consistent and readable.
  5. The solution uses the language's standard input and output.
  6. The solved problem should not be from ICS, or other private organizations.

If you wish to modify an existing solution it should be for at least one of the following reasons:

  • The existing solution is not completely correct.
  • The existing solution uses an objectively less efficient method.
  • The existing solution is not properly documented.
  • The existing solution does not follow a reasonable code style.

If you have met the above requirements follow these instructions to contribute:

  1. Navigate to the Github Repository.
  2. Create a new fork of the repository under your Github account by clicking the fork button in the top right.
  3. Go to your forked version of the repository and create a new file with your solution in it or make your modification to the existing file. Make sure your file is named identically to the code of the problem being solved with the correct file extension, and make sure it is located in the correct category folder. Only modify or add one solution per pull request.
  4. Go back to the original repository and create a new pull request using your fork. Follow the instructions in the pull request template.