$30
COMP 321: Programming Challenges
Assignment 1
Setup
Kattis (https://open.kattis.com) is a website that allows you to submit solutions to
programming problems, and have them evaluated automatically by running a series of
test cases on the submitted solutions.
Before you can submit code through Kattis, you need to complete the following steps:
1. Go to the Open Kattis registration page and create an account with your McGill
e-mail.
2. Go to the help session and read the documentation for Java.
3. Try to solve the Hello World problem (https://open.kattis.com/problems/hello). This
problem has a very simple solution: you just need to write a program that prints out
“Hello World!”. The way you submit a problem is by clicking on the green icon that
appears to the left of the problem name (when you hover over the icon, it should
say “Submit”). This will take you to a page where you can either upload a file, or
switch to an editor where you can write the code directly on your browser. Make
sure that you correctly selected the right language before you submit your solution.
After you’ve submitted the code, Kattis will “judge” it, and will send you an e-mail
notification with the result. If you solved the problem correctly, you will get an
“Accepted” judgment. You can also check the status of all your submissions by
clicking on the user icon on the top-right corner of the Kattis page, and then clicking
on your name. This will show a list of all your submissions. Take into account that
this list does not update automatically; if a submission shows up as pending (either
“Compiling” or “Running”), you need to reload the page to see its latest status.
Before submitting a solution to Kattis, you may want to run your solution on your
own machine to make sure there are no major issues with your code, such as
syntax errors or small mistakes that will make your code return a Wrong Answer
even with the sample input. The problems include some sample data that you can
use to test your solution (you can download this data from the problem webpage).
However, Kattis will run your solution with additional test cases, typically designed
to check corner cases.
Assignment problems
For this assignment, we will solve the following problems on kattis
1. The Easiest Problem Is This One: https://open.kattis.com/problems/easiest
2. Yoda: https://open.kattis.com/problems/yoda
3. I Can Guess the Data Structure:
https://open.kattis.com/problems/guessthedatastructure
Please remember that the assignment must be solved individually. What I expect from
you is the following.
1) A .pdf file uploaded in mycourses (please upload it in the ‘Assignment1’ folder). This
.pdf must be named Assignment1_IDi.pdf, where IDi is your McGill id number. Inside
the pdf file you must copy/paste the acceptance notifications that you received from
Kattis.
2) You must submit the code that you used in your submission. The files must be
named Problem_ IDi.extension, where ‘Problem’ is the name of the problem and IDi is
your McGill id and ‘extension’ is the program extension (.java).
NOTE: Make sure to add comments to your code.
The due date for this assignment is Sunday September 23rd before 11:45 PM.