- Cemetech Contest #19: Pathfinding from Hell
- 03 Mar 2017 03:26:28 pm
- Last edited by PT_ on 03 Mar 2017 03:32:00 pm; edited 2 times in total
Because jonbush organized the last 4 contests (Crypto Golfing, Chatty Cyborgs, On Rails and Winter Wonderland), some members decided it would be fun to organize a contest themselves, including PT_, Pieman7373 and mr womp womp. After some brainstorming sessions, we are more than happy to announce the theme for Cemetech Contest #19: Pathfinding from Hell
In Pathfinding from Hell, you are challenged to create a pathfinding algorithm in pure TI-BASIC, but with some restrictions. This algorithm should find it's way through a matrix with walls, and a starting/ending point. To win this contest, your algorithm must be the fastest and smallest, and follow the rules. The final submission date is March 24th, which means you have exactly 3 weeks to complete it.
However, it would not be a fun contest, if there are no restrictions, because just creating a pathfinding algorithm can be pretty easy. That's why we decided to exclude some TI-BASIC tokens, including these:
Code:
Ans
)
Str0-Str9
≤
<
D-θ
*finance vars*
n
Return
*newline*
Indeed, D-θ, the finance vars and the recursive n are not allowed, which means you can only use 3 numeric variables. The input is a 10x10 matrix, provided in [A], which consists of 0's and 1's. A "1" means there is a wall, and thus you can't pass it. A "0" is nothing. The start- and endpoint are at (2,1) and (9,1) respectively. Output should be written to [A] as well, and the path should be filled with 2's. You may assume there is a way from the startpoint to the endpoint. This is an example input:
In this case, various outputs are possible, this is one possibility:
The path should be singular, which means you are not allowed to simply change the 0's to 2's, that is not a pathfinding algorithm.
Prizes:
The first and second place winners will receive $30 and $15 respectively in the form of Steam gift cards.
Rules:
- The contest will run until 3/24/2017, at 23:59:59pm Eastern Time. No late entries will be accepted.
- Submit entries by emailing them, in a zip file, to contest at this domain. Please put your Cemetech username in the email topic or body. If you multiple entries are recieved, only the last one will be judged.
- If you want to participate, please post it in this thread, such that we know it.
- Entries including one of the above stated TI-BASIC tokens will be disqualified.
- Judging will be done by the aforementioned Cemetech members: PT_, Pieman7373 and mr womp womp. You can find the scoring details below. All judges are disqualified from participating. Results will be posted no later than 10 days after the end of the contest.
- Contestants may not release binaries until the end of the contest; posting small code snippets to ask for help is allowed.
- Fine print rules can be found here.
Scoring:
Code:
Score:
Speed:
#1: 45/(number_of_participants-1)*(number_of_participants-1)
#2: 45/(number_of_participants-1)*(number_of_participants-2)
#3: 45/(number_of_participants-1)*(number_of_participants-3)
...
Size:
#1: 45/(number_of_participants-1)*(number_of_participants-1)
#2: 45/(number_of_participants-1)*(number_of_participants-2)
#3: 45/(number_of_participants-1)*(number_of_participants-3)
...
Elegance:
Max 10 points
See this link for a VBS script how we will calculate the score.