One day, an ant named Alice 1 came to an M x M
chessboard. She wanted
to go around all the squares. Moving at a speed of one square per second, she
began to walk along the chessboard in the following manner:
At the start, Alice was standing at
(1, 1)
. She began her journey by going up a square then a square to the right, and then a square downward. After that, she went a square to the right, then two squares upward, and then two squares to the left ... in a word, the path was like a snake.
For example, her first 25
seconds went like this:
25 24 23 22 21
10 11 12 13 20
9 8 7 14 19
2 3 6 15 18
1 4 5 16 17
Eight seconds in, she would be at (3, 2)
, and at 20
seconds, she would
be at (4, 5)
. Your task is to decided where she would be at a given time.
The input consists of several lines, where each line contains a number N
where 1 <= N <= 10,000
, which stands for the time.
8
20
25
For each input time, output the time, row, and column number Alice would be
at that time in the format: time = (row, column)
.
8 = (3, 2)
20 = (4, 5)
25 = (5, 1)
This is based on 10161 - Ant on a Chessboard problem on the UVa Online Judge.
To submit your work, follow the same procedure you used for Reading 00:
$ cd path/to/cse-30872-fa18-assignments # Go to assignments repository
$ git checkout master # Make sure we are on master
$ git pull --rebase # Pull any changes from GitLab
$ git checkout -b challenge24 # Create and checkout challenge24 branch
$ $EDITOR challenge24/program.cpp # Edit your code
$ git add challenge24/program.cpp # Stage your changes
$ git commit -m "challenge24: done" # Commit your changes
$ git push -u origin challenge24 # Send changes to GitLab
To check your code, you can use the .scripts/submit.py
script or curl:
$ .scripts/submit.py
Submitting challenge24 assignment ...
Submitting challenge24 code ...
Result Success
Score 6.00
Time 0.06
$ curl -F source=@challenge24/program.cpp https://dredd.h4x0r.space/code/cse-30872-fa18/challenge24
{"score": 6, "result": "Success"}
Once you have commited your work and pushed it to GitLab, member to create a merge request. Refer to the Reading 11 TA List to determine your corresponding TA for the merge request.
It's always Alice. Or Bob. ↩