Home
Contact Information
Announcements
LMS
Syllabus
Learning Outcomes
Prerequistites
Grading Criteria
References
Optional Textbooks
Web Resources
C++ Development
Misc. Programming Info
Memory Debugging
Getting Help
Tutoring
Advice from TAs
Advice from Students
2007 Course Review
Calendar
Lecture notes
Lab materials
Homework
Test reviews
Weekly Schedule
Office Hours
Lab Times
Academic Integrity
Homework
Due Date and Time
Late Day Policy
Compilers
Electronic Submission
|
HW6 Robo Rally Contest
Implementation Notes
- submissions/abramj3 : no comment on optimization
- submissions/ballb : limit memory allocation, don't consider more solutions than necessary
- submissions/brennd3 : "Interesting puzzle: How not to spend forever on homework", no comment on optimization
- submissions/champl2 : iterative, pre-generates permutations
- submissions/clarkb7 : no comment on optimization
- submissions/cutler : no pushing: finds programs for each robot, then combines & checks for collisions. with pushing: picks one move for each robot, checks for collisions/pushing, & repeats
- submissions/diamog : checks validity at every step
- submissions/dimitd : no comment on optimization
- submissions/dongm : optimization for duplicate moves
- submissions/duprei : no comment on optimization
- submissions/eastlk : uses lists, only use programs that take robot to goal, stop on crash
- submissions/faulda : exits quickly if only one solution is needed, separate code for pushing, avoid duplicate solutions
- submissions/freitj : no comment on optimization
- submissions/gulata2 : convert string command to integers, eliminate paths that hit walls, collision checking last
- submissions/haynep : no coment on optimization
- submissions/jacobr2 : check collisions after all movements are determined
- submissions/karcha : no comment on optimization
- submissions/lawp : branches of tree are not checked for invalid moves or collisions, considers unique moves, early termination, local variables, enum rather than string comparison
- submissions/leee10 : no comment on optimization
- submissions/leiy3 : no comment on optimization
- submissions/liuv : focused on stress testing
- submissions/luongc : iteration rather than recursion
- submissions/martij22 : no comment on optimization
- submissions/martij24 : intermediate results stored
- submissions/meerd : no comment on optimization
- submissions/metrom : no comment on optimization
- submissions/naylod : cutoffs to stop the search, determine if solution is impossible
- submissions/nevinl : no comment on optimization
- submissions/oranss : no comment on optimization
- submissions/perezg2 : no comment on optimization
- submissions/qiuz : "way too many", changed many of the provided structures (vectors & map & list)
- submissions/samsok : "Oh... It's 8AM already?", remove repeats in permutation, check bounds inside robot move function
- submissions/scheme : find total possible combinations for each robot, only search these combinations, optimization for non-pushing to see if its possible to reach goal
- submissions/schreg : no comment on optimization
- submissions/slowit : no comment on optimization
- submissions/stammn : no comment on optimization
- submissions/sussea : stops at dead ends, avoid duplicate pathways
- submissions/weilg : convert list to map, avoid copy, sort & uniqueness tests, reduce collision calls, avoid re-checking, optimization for pushing disabled, print modified
- submissions/weinsa : no comment on optimization
- submissions/westem : reverses robot moves, pass by reference, stops searching after crash, uses map
New Puzzle Notes
- ballb_puzzle_new.txt :
It tests if you check for head on collisions & uses backward_1
- ballb_puzzle_new2.txt :
Also included: puzzle_new2.txt
This is another pushing test.
- ballb_puzzle_new3.txt :
Honestly don't expect anyone to solve this one. But who knows!
- champl_newpuzzle1 : Is a variation of the original puzzle
2, added a third robot that moves along the middle column, creating a
hazard for robots A and B. There are 30 solutions.
- champl_newpuzzle2 : is a very simple puzzle, designed to
test how the algorithm handles repeated commands. There are 6 steps,
but only two unique commands. There are 21 solutions.
- diamog : Used to test efficiency improvements.
- liuv : Corner cases that were submitted with my original homework.
- luongc : Involves three robots, with two robots facing one
another. Their movements are restricted to zigzaging( roates and
fowards only). Pushing allowed needs to be true for this.
- naylod :
several "pathfinding" puzzles, that require the robot to find it's way through several "rocks", or robots with only "do_nothing" commands.
several "stress tests", which simply give very hard challenges that solvers will fail on if they are improperly designed.
- qiuz : tests that you can push backwards
- sussea : Nicknamed the "spinning windmill" problem,
involves one robot swapping the positions of two other robots. The two
other robots are essentially stationary unless pushed.
- weilg_puzzle_doublePush.txt : -allow_pushing
This tests chain-pushing, where a robot is pushed
into another robot, causing both to be pushed
- weilg_puzzle_manySteps.txt : -allow_pushing
This puzzle tests how well a large number of equivalent
steps are handled. It only has one solution, but requires
the robot to push others as it goes into position
  |
puzzle1_one |
puzzle2_one |
puzzle2_all |
puzzle3_one |
puzzle3_all |
puzzle4_one |
puzzle4_onepushing |
puzzle4_allpushing |
puzzle5_one |
puzzle5_all |
puzzle5_onepushing |
puzzle5_allpushing |
puzzle6_one |
abramj3 |
0m0.001s |
0m0.004s |
0m0.004s |
0m0.379s |
too few solns |
0m0.001s |
no soln |
too few solns |
0m0.078s |
0m0.095s |
0m0.080s |
0m0.097s |
0m0.000s |
ballb |
0m0.000s |
0m0.000s |
0m0.001s |
0m0.019s |
0m0.074s |
0m0.001s |
0m0.000s |
0m0.001s |
0m0.001s |
0m0.021s |
0m0.001s |
0m0.022s |
0m0.000s |
brennd3 |
0m0.001s |
0m0.003s |
0m0.003s |
0m0.013s |
0m0.015s |
0m0.001s |
no soln |
incomplete |
0m0.042s |
incomplete |
0m0.042s |
incomplete |
0m0.000s |
champl2 |
0m0.001s |
0m0.005s |
0m0.005s |
0m0.008s |
0m0.012s |
0m0.001s |
no soln |
too few solns |
0m0.093s |
0m0.129s |
0m0.093s |
0m0.127s |
0m0.000s |
clarkb7 |
0m0.001s |
0m0.008s |
0m0.023s |
0m24.221s |
1m19.734s |
0m0.008s |
invalid soln |
too few solns |
0m0.222s |
0m1.810s |
0m0.223s |
0m1.798s |
0m0.001s |
cutler |
0m0.001s |
0m0.002s |
0m0.002s |
0m0.006s |
0m0.013s |
0m0.001s |
0m0.011s |
0m0.017s |
0m1.724s |
0m1.748s |
0m0.033s |
0m1.932s |
0m0.000s |
diamog |
0m0.001s |
0m0.001s |
too few solns |
0m0.134s |
too few solns |
0m0.004s |
no soln |
too few solns |
0m0.003s |
0m0.202s |
0m0.003s |
0m0.199s |
0m0.000s |
dimitd |
0m0.001s |
0m0.003s |
3m0.425s |
0m14.919s |
incomplete |
0m30.127s |
no soln |
incomplete |
0m9.740s |
1m16.211s |
0m7.690s |
0m58.895s |
invalid soln |
dongm |
0m0.001s |
0m0.005s |
0m0.018s |
0m28.799s |
1m15.306s |
0m0.007s |
0m0.006s |
0m0.008s |
0m0.216s |
0m1.669s |
0m0.220s |
0m1.676s |
0m0.000s |
eastlk |
0m0.001s |
0m0.001s |
0m0.001s |
0m0.002s |
too few solns |
0m0.000s |
no soln |
too few solns |
0m0.241s |
0m0.258s |
0m0.243s |
0m0.258s |
0m0.000s |
faulda |
0m0.000s |
0m0.001s |
0m0.003s |
0m0.341s |
0m1.433s |
0m0.004s |
0m0.001s |
incomplete |
0m0.003s |
0m0.078s |
0m0.004s |
0m0.092s |
0m0.000s |
freitj |
0m0.001s |
0m0.002s |
0m0.003s |
0m0.008s |
0m0.030s |
0m0.001s |
no soln |
too few solns |
0m0.038s |
0m0.137s |
0m0.038s |
0m0.137s |
0m0.000s |
gulata2 |
0m0.000s |
0m0.001s |
0m0.001s |
0m0.001s |
0m2.726s |
0m0.000s |
no soln |
too few solns |
0m0.023s |
0m0.043s |
0m0.023s |
0m0.043s |
0m0.000s |
haynep |
0m0.001s |
0m0.001s |
incomplete |
invalid soln |
incomplete |
0m0.001s |
no soln |
incomplete |
0m0.169s |
0m0.185s |
0m0.169s |
0m0.187s |
invalid soln |
jacobr2 |
0m0.001s |
0m0.007s |
0m0.007s |
0m0.030s |
0m0.034s |
0m0.001s |
no soln |
too few solns |
0m0.165s |
0m0.182s |
0m0.165s |
0m0.182s |
0m0.000s |
karcha |
0m0.001s |
0m0.002s |
0m0.002s |
0m0.011s |
0m0.012s |
0m0.001s |
no soln |
too few solns |
0m0.044s |
0m0.049s |
0m0.044s |
0m0.049s |
0m0.000s |
lawp |
0m0.000s |
0m0.000s |
0m0.001s |
0m0.004s |
0m0.020s |
0m0.001s |
no soln |
too few solns |
0m0.001s |
0m0.018s |
0m0.001s |
0m0.018s |
0m0.000s |
leee10 |
0m0.000s |
0m0.001s |
incomplete |
no soln |
too few solns |
0m0.001s |
no soln |
incomplete |
0m0.078s |
0m1.685s |
0m0.078s |
0m1.679s |
invalid soln |
leiy3 |
0m0.000s |
0m0.001s |
0m0.001s |
0m0.120s |
0m0.122s |
0m0.001s |
no soln |
too few solns |
0m0.021s |
0m0.040s |
0m0.015s |
0m0.034s |
0m0.000s |
liuv |
0m0.001s |
0m0.001s |
0m0.001s |
no soln |
0m0.011s |
0m0.000s |
no soln |
0m0.012s |
0m0.119s |
0m0.138s |
0m0.165s |
0m1.875s |
0m0.000s |
luongc |
0m0.001s |
0m0.004s |
0m0.017s |
0m18.217s |
too few solns |
0m0.006s |
0m0.006s |
0m0.008s |
0m0.119s |
0m1.684s |
0m0.118s |
0m1.699s |
0m0.000s |
martij22 |
0m0.000s |
0m0.001s |
too few solns |
invalid soln |
incomplete |
invalid soln |
invalid soln |
too few solns |
0m0.015s |
too few solns |
0m0.014s |
too few solns |
0m0.000s |
martij24 |
0m0.001s |
0m0.003s |
0m0.005s |
0m7.489s |
0m26.146s |
0m0.002s |
no soln |
too few solns |
0m0.356s |
0m0.416s |
0m0.354s |
0m0.417s |
0m0.000s |
meerd |
0m0.001s |
0m0.005s |
0m0.019s |
0m29.865s |
1m17.832s |
0m0.007s |
no soln |
too few solns |
0m0.187s |
0m1.795s |
0m0.185s |
0m1.790s |
0m0.000s |
metrom |
0m0.000s |
0m0.001s |
0m0.004s |
0m3.367s |
0m12.159s |
0m0.001s |
0m0.001s |
0m0.002s |
0m0.025s |
0m0.200s |
0m0.025s |
0m0.198s |
0m0.000s |
naylod |
0m0.000s |
0m0.000s |
0m0.001s |
0m0.001s |
0m0.004s |
0m0.001s |
0m0.001s |
invalid solns |
0m0.001s |
0m0.019s |
no soln |
incomplete |
0m0.000s |
nevinl |
0m0.000s |
0m0.001s |
0m0.003s |
0m0.146s |
0m0.592s |
0m0.004s |
no soln |
incomplete |
0m0.004s |
0m0.236s |
0m0.004s |
0m0.244s |
0m0.000s |
oranss |
0m0.002s |
0m0.009s |
0m0.027s |
no soln |
incomplete |
0m0.009s |
0m0.002s |
0m0.010s |
0m0.269s |
0m1.913s |
0m0.269s |
0m1.898s |
0m0.002s |
perezg2 |
0m0.001s |
0m0.003s |
0m0.003s |
0m0.636s |
0m0.639s |
0m0.003s |
no soln |
too few solns |
0m0.062s |
0m0.080s |
0m0.062s |
0m0.079s |
0m0.000s |
qiuz |
0m0.001s |
0m0.001s |
0m0.001s |
0m0.002s |
0m0.009s |
0m0.001s |
0m0.002s |
0m0.006s |
0m0.083s |
0m0.100s |
0m3.122s |
0m3.389s |
0m0.000s |
samsok |
0m0.001s |
0m0.001s |
0m0.010s |
0m0.845s |
0m3.506s |
0m0.008s |
0m0.009s |
0m0.013s |
0m0.010s |
0m1.575s |
0m0.010s |
0m1.579s |
0m0.000s |
scheme |
0m0.000s |
0m0.001s |
0m0.001s |
0m0.031s |
0m0.059s |
0m0.001s |
0m0.001s |
0m0.001s |
0m0.001s |
0m0.020s |
0m0.001s |
0m0.024s |
0m0.000s |
schreg |
0m0.000s |
0m0.003s |
0m0.012s |
no soln |
incomplete |
0m0.001s |
no soln |
incomplete |
0m0.025s |
0m1.238s |
0m0.024s |
0m1.256s |
0m0.000s |
slowit |
0m0.000s |
0m0.001s |
incomplete |
no soln |
incomplete |
0m0.000s |
no soln |
incomplete |
invalid soln |
incomplete |
invalid soln |
incomplete |
0m0.000s |
stammn |
0m0.001s |
0m0.006s |
0m0.006s |
no soln |
too few solns |
0m0.021s |
no soln |
too few solns |
0m0.189s |
0m0.212s |
0m0.190s |
0m0.210s |
0m0.000s |
sussea |
0m0.000s |
0m0.000s |
0m0.001s |
0m0.003s |
0m0.011s |
0m0.000s |
no soln |
incomplete |
0m0.000s |
0m0.009s |
no soln |
incomplete |
0m0.000s |
weilg |
0m0.000s |
0m0.001s |
0m0.001s |
0m0.043s |
0m0.157s |
0m0.001s |
0m0.002s |
0m0.004s |
0m0.001s |
0m0.030s |
0m0.001s |
0m0.030s |
0m0.000s |
weinsa |
0m0.000s |
no soln |
too few solns |
no soln |
too few solns |
0m0.000s |
no soln |
too few solns |
no soln |
too few solns |
no soln |
too few solns |
0m0.000s |
westem |
0m0.000s |
0m0.001s |
0m0.001s |
0m0.069s |
0m0.274s |
0m0.002s |
no soln |
too few solns |
0m0.001s |
0m0.045s |
0m0.001s |
0m0.045s |
0m0.000s |
Submitted puzzles w/o pushing
- out_ballb_puzzle_new_one.txt
Searching for just one solution...
Solution:
Robot A: forward_1, forward_1, forward_1, rotate_left, rotate_left, forward_1, rotate_right, rotate_right, forward_1
Robot B: forward_1, rotate_left, rotate_left, forward_1, rotate_right, rotate_right, forward_1, forward_1, forward_1
Robot C: rotate_left, backward_1, rotate_right, backward_1, backward_1, rotate_right, backward_1, rotate_left, backward_1
Robot D: backward_1, rotate_right, backward_1, rotate_left, backward_1, backward_1, rotate_left, backward_1, rotate_right
+---+---+ +---+---+ +---+---+ +---+---+ +---+---+ +---+---+ +---+---+ +---+---+ +---+---+ +---+---+
| ^ ^ | | | | | | ^ ^ | | | | | | | | | | | | ^ ^ |
| C D | || | D> | | D C | | | | A | || | C> B | | C | | |
| | | | | | | v | | | | | | | | | | | | |
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
| ^ ^ | | | | | | | | | | | | ^ ^ | | | | | | ^ ^ |
| A B | | | | | | | | B | |
- out_champl2_newpuzzle1_one.txt
Searching for just one solution...
Solution:
Robot A: forward_1, forward_1, rotate_left, forward_1, forward_1, rotate_right
Robot B: do_nothing, forward_1, forward_1, rotate_left, forward_1, rotate_right
Robot C: backward_1, forward_1, backward_1, forward_1, backward_1, forward_1
+---+---+---+ +---+---+---+ +---+---+---+ +---+---+---+ +---+---+---+ +---+---+---+ +---+---+---+
| | | | | | | | | | | ^ | | |
| |
| | | v | | | | v | | v | | v | | |
+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
| | | | | | | | | ^ | | | | |
| C | | | | C | | | | C A | | B | | | | A> | | A>| | A | | | | | | |
| | | | | | | | | | | | | |
+---+---+---+ +---+---+---+ +---+---+---+ +---+---+---+ +---+---+---+ +---+---+---+ +---+---+---+
- out_naylod_puzzleStressTest5_one.txt
Searching for just one solution...
Solution:
Robot A: forward_1, rotate_right, forward_1, rotate_right, forward_1, rotate_right, forward_1
Robot B: forward_1, rotate_right, forward_1, rotate_right, forward_1, rotate_right, forward_1
Robot C: forward_1, rotate_right, forward_1, rotate_right, forward_1, rotate_right, forward_1
Robot D: forward_1, rotate_right, forward_1, rotate_right, forward_1, rotate_right, forward_1
+---+---+ +---+---+ +---+---+ +---+---+ +---+---+ +---+---+ +---+---+ +---+---+
| | | ^ | | | | ^ | | | | ^ | | | | ^ |
| B> C | | A B>| | A> B | | D A>| | D> A | | C D>| | C> D | | B C>|
| v | | | | v | | | | v | | | | v | | |
+ + + + + + + + + + + + + + + + + + + + + + + +
| ^ | | | | ^ | | | | ^ | | | | ^ | | |
| A
  |
ballb_puzzle_new_one |
ballb_puzzle_new_all |
champl2_newpuzzle1_one |
champl2_newpuzzle1_all |
naylod_puzzleStressTest5_one |
naylod_puzzleStressTest5_all |
abramj3 |
0m8.846s |
too few solns |
invalid soln |
incomplete |
no soln |
too few solns |
ballb |
0m0.368s |
0m9.603s |
0m0.001s |
0m0.003s |
0m0.000s |
0m0.001s |
brennd3 |
0m32.714s |
0m32.578s |
0m0.011s |
0m0.012s |
0m0.014s |
0m0.014s |
champl2 |
invalid soln |
invalid solns |
0m0.010s |
too few solns |
0m0.085s |
0m0.085s |
clarkb7 |
no soln |
incomplete |
0m0.158s |
0m0.858s |
0m4.397s |
incomplete |
cutler |
0m0.158s |
0m1.388s |
0m0.005s |
0m0.012s |
0m0.003s |
0m0.003s |
diamog |
no soln |
too few solns |
no soln |
too few solns |
no soln |
too few solns |
dongm |
no soln |
incomplete |
no soln |
too few solns |
no soln |
incomplete |
eastlk |
invalid soln |
invalid solns |
0m0.001s |
invalid solns |
0m0.001s |
0m0.001s |
faulda |
invalid soln |
incomplete |
0m0.001s |
invalid solns |
0m0.001s |
0m0.002s |
freitj |
invalid soln |
invalid solns |
0m0.006s |
invalid solns |
0m0.011s |
0m0.011s |
gulata2 |
no soln |
incomplete |
no soln |
incomplete |
no soln |
too few solns |
jacobr2 |
0m40.468s |
0m40.511s |
0m0.025s |
0m0.026s |
0m0.081s |
0m0.080s |
karcha |
0m5.363s |
invalid solns |
0m0.009s |
invalid solns |
no soln |
too few solns |
lawp |
invalid soln |
invalid solns |
invalid soln |
invalid solns |
0m0.000s |
0m0.001s |
leiy3 |
0m12.099s |
too few solns |
0m0.003s |
too few solns |
no soln |
too few solns |
liuv |
invalid soln |
invalid solns |
no soln |
invalid solns |
0m0.001s |
0m0.001s |
luongc |
no soln |
incomplete |
0m0.111s |
too few solns |
0m3.208s |
0m7.688s |
martij24 |
no soln |
incomplete |
no soln |
too few solns |
0m0.002s |
0m8.886s |
meerd |
no soln |
incomplete |
no soln |
too few solns |
no soln |
incomplete |
metrom |
no soln |
incomplete |
0m0.046s |
invalid solns |
0m1.535s |
0m3.910s |
naylod |
0m0.017s |
too few solns |
no soln |
too few solns |
no soln |
too few solns |
nevinl |
0m1.007s |
0m47.150s |
0m0.001s |
0m0.012s |
0m0.001s |
0m0.001s |
oranss |
no soln |
incomplete |
no soln |
incomplete |
0m0.113s |
0m10.083s |
perezg2 |
1m0.747s |
too few solns |
no soln |
too few solns |
no soln |
too few solns |
qiuz |
0m0.050s |
0m1.136s |
0m0.003s |
0m0.008s |
0m0.001s |
0m0.001s |
samsok |
0m13.397s |
9m54.698s |
0m0.001s |
0m0.075s |
0m0.002s |
0m0.006s |
scheme |
invalid soln |
invalid solns |
0m0.001s |
invalid solns |
0m0.001s |
0m0.001s |
schreg |
no soln |
incomplete |
no soln |
incomplete |
no soln |
too few solns |
slowit |
no soln |
incomplete |
no soln |
incomplete |
no soln |
incomplete |
stammn |
invalid soln |
too few solns |
0m0.054s |
invalid solns |
0m0.007s |
0m0.007s |
sussea |
invalid soln |
invalid solns |
0m0.000s |
invalid solns |
0m0.000s |
0m0.000s |
weilg |
invalid soln |
invalid solns |
0m0.001s |
invalid solns |
0m0.001s |
0m0.001s |
westem |
invalid soln |
invalid solns |
0m0.001s |
0m0.007s |
0m0.001s |
0m0.001s |
Submitted puzzles with pushing
- out_ballb_puzzle_new2_onepushing.txt
Searching for just one solution...
Solution:
Robot A: forward_1, forward_1, forward_1, forward_1, rotate_left, forward_1, rotate_right, forward_1, forward_1, rotate_right, forward_1, rotate_right, forward_1, forward_1, rotate_left, rotate_left, forward_1, forward_1
Robot X: do_nothing, do_nothing, do_nothing, do_nothing, do_nothing, do_nothing, do_nothing, do_nothing, do_nothing, do_nothing, do_nothing, do_nothing, do_nothing, do_nothing, do_nothing, do_nothing, do_nothing, do_nothing
Robot Y: do_nothing, do_nothing, do_nothing, do_nothing, do_nothing, do_nothing, do_nothing, do_nothing, do_nothing, do_nothing, do_nothing, do_nothing, do_nothing, do_nothing, do_nothing, do_nothing, do_nothing, do_nothing
Robot Z: do_nothing, do_nothing, do_nothing, do_nothing, do_nothing, do_nothing, do_nothing, do_nothing, do_nothing, do_nothing, do_nothing, do_nothing, do_nothing, do_nothing, do_nothing, do_nothing, do_nothing, do_nothing
+---+---+---+ +---+---+---+ +---+---+---+ +---+---+---+ +---+---+---+ +---+---+---+ +---+---+---+ +---+---+---+ +---+---+---+ +---+---+---+ +---+---+---+ +---+---+---+ +---+---+---+ +---+---+---+ +---+---+---+ +---+---+---+ +---+---+---+ +---+---+---+ +---+---+---+
| | | | | | | | | | | | | | | | | | | ^ | | | | | | | | | | | | | | | | | | ^ |
| | | | | | | | | | | | | | | | | | | A | | A> | | A> | | A | | | | | | | | | | | | A |
| | | | | | | | | | | | | | | | | | | | | | | | | v | | | | | | | | | | | | |
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
| | | | | | | | | | | | | | | | | ^ | | | | | | | | | | | | | | | | | | ^ | | |
| | | | | | | | | Y | | Y | | Y | | Y | | A Y | | Y | | Y | | Y | | Y | | A | | | | | | | | A | | |
| | | | | | | | | v | | v | | v | | v | | v | | v | | v | | v | | v | | v | | | | | | | | | | |
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
| | | | | | | | | ^ | | | | | | ^ | | | | | | | | | | | | | | | | | | ^ | | | | |
| | | | | | | Y | | A | | | | A | | | | |
| | | | | | | v | | | | | | | | | | | | | | | | | | | | v | | v | | | | | | | | |
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
| | | | | | | ^ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
| X Y Z | | X Y Z | | X Y Z | | X A Z | | X Z | | X Z | | X Z | | X Z | | X Z | | X Z | | X Z | | X Z | | X Z | | X Z | | X Y Z | | X Y Z | | X Y Z | | X Y Z | | X Y Z |
| v v v | | v v v | | v v v | | v v | | v v | | v v | | v v | | v v | | v v | | v v | | v v | | v v | | v v | | v v | | v v v | | v v v | | v v v | | v v v | | v v v |
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
| | | | | ^ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
| | | | | A | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
| | | ^ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
| | | A | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
| ^ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
| A | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
+---+---+---+ +---+---+---+ +---+---+---+ +---+---+---+ +---+---+---+ +---+---+---+ +---+---+---+ +---+---+---+ +---+---+---+ +---+---+---+ +---+---+---+ +---+---+---+ +---+---+---+ +---+---+---+ +---+---+---+ +---+---+---+ +---+---+---+ +---+---+---+ +---+---+---+
- out_weilg_puzzle_doublePush_onepushing.txt
Searching for just one solution...
Solution:
Robot A: rotate_right, forward_1
Robot B: forward_1, forward_1
Robot C: do_nothing, rotate_left
+---+---+---+ +---+---+---+ +---+---+---+
| | | | | ^ |
| | | | | B |
| v | | | | |
+ + + + + + + + + + + +
| | | ^ | | |
| C> | | B | | |
| | | | | |
+ + + + + + + + + + + +
| ^ | | | | |
| B | | | | |
| | | | | |
+---+---+---+ +---+---+---+ +---+---+---+
- out_weilg_puzzle_manySteps_onepushing.txt
Searching for just one solution...
Solution:
Robot A: rotate_left, forward_3, rotate_left, forward_2, rotate_left, forward_3, rotate_left, forward_1, rotate_left, forward_1, rotate_right, forward_1, rotate_left, forward_1, rotate_left, forward_1
Robot b: do_nothing, do_nothing, do_nothing, do_nothing, do_nothing, do_nothing, do_nothing, do_nothing, do_nothing, do_nothing, do_nothing, do_nothing, do_nothing, do_nothing, do_nothing, do_nothing
Robot c: do_nothing, do_nothing, do_nothing, do_nothing, do_nothing, do_nothing, do_nothing, do_nothing, do_nothing, do_nothing, do_nothing, do_nothing, do_nothing, do_nothing, do_nothing, do_nothing
+---+---+---+---+ +---+---+---+---+ +---+---+---+---+ +---+---+---+---+ +---+---+---+---+ +---+---+---+---+ +---+---+---+---+ +---+---+---+---+ +---+---+---+---+ +---+---+---+---+ +---+---+---+---+ +---+---+---+---+ +---+---+---+---+ +---+---+---+---+ +---+---+---+---+ +---+---+---+---+ +---+---+---+---+
| | | | | ^ | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
| | | | | A | | | | c> | | c> | | c> | | c> A | | c> | | c> | | c> | | c> | | c> | | c> | | c> | | c> | | c> | | c> | | A | | A> | | A> | | A | | | | | | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
| | | ^ | | | | | | | | | | | | | | | | ^ | | | | | | | | | | | | | | |
| A> | | A | | | | | | | | | | A | | A> | | A> | | A | | | | | | | | | | | | | | |
| | | | | | | | | | | | | v | | | | | | | | | | | | | | | | | | | | |
+---+---+---+---+ +---+---+---+---+ +---+---+---+---+ +---+---+---+---+ +---+---+---+---+ +---+---+---+---+ +---+---+---+---+ +---+---+---+---+ +---+---+---+---+ +---+---+---+---+ +---+---+---+---+ +---+---+---+---+ +---+---+---+---+ +---+---+---+---+ +---+---+---+---+ +---+---+---+---+ +---+---+---+---+
- out_liuv_3pushby3_onepushing.txt
Searching for just one solution...
Solution:
Robot A: forward_3
Robot B: do_nothing
Robot C: do_nothing
Robot D: do_nothing
+---+ +---+
| | | |
| | | |
| | | |
+ + + +
| | | |
| | | |
| | | |
+ + + +
| | | |
| | | |
| | | |
+ + + +
| | | |
| | | D>|
| | | |
+ + + +
| | | |
| | | C>|
| | | |
+ + + +
| | | |
| | | B>|
| | | |
+ + + +
| | | ^ |
| D>| | A |
| | | |
+ + + +
| | | |
| C>| | |
| | | |
+ + + +
| | | |
| B>| | |
| | | |
+ + + +
| ^ | | |
| A | | |
| | | |
+---+ +---+
- out_liuv_cross1_onepushing.txt
Searching for just one solution...
Found no solutions
- out_liuv_follow_onepushing.txt
Searching for just one solution...
Solution:
Robot A: forward_2
Robot B: forward_2
+---+---+---+---+ +---+---+---+---+
| | | ^ |
| | | B |
| | | |
+ + + + + + + + + +
| | | ^ |
| | | A |
| | | |
+ + + + + + + + + +
| ^ | | |
| B | | |
| | | |
+ + + + + + + + + +
| ^ | | |
| A | | |
| | | |
+---+---+---+---+ +---+---+---+---+
  |
ballb_puzzle_new2_onepushing |
ballb_puzzle_new2_allpushing |
weilg_puzzle_doublePush_onepushing |
weilg_puzzle_doublePush_allpushing |
weilg_puzzle_manySteps_onepushing |
weilg_puzzle_manySteps_allpushing |
liuv_3pushby3_onepushing |
liuv_3pushby3_allpushing |
liuv_cross1_onepushing |
liuv_cross1_allpushing |
liuv_follow_onepushing |
liuv_follow_allpushing |
ballb |
0m0.089s |
0m0.161s |
0m0.000s |
0m0.001s |
no soln |
too few solns |
no soln |
too few solns |
0m0.000s |
0m0.000s |
no soln |
too few solns |
cutler |
0m1.214s |
0m8.030s |
0m0.001s |
0m0.001s |
0m20.474s |
0m28.103s |
0m0.000s |
0m0.001s |
0m0.000s |
0m0.000s |
0m0.000s |
0m0.000s |
dongm |
0m8.601s |
0m32.401s |
no soln |
too few solns |
8m49.572s |
incomplete |
no soln |
too few solns |
0m0.000s |
0m0.000s |
0m0.000s |
0m0.000s |
faulda |
0m0.923s |
0m1.628s |
no soln |
too few solns |
no soln |
too few solns |
no soln |
too few solns |
invalid soln |
invalid solns |
0m0.000s |
0m0.000s |
liuv |
no soln |
0m35.831s |
0m0.000s |
0m0.001s |
no soln |
9m50.051s |
0m0.001s |
0m0.001s |
0m0.000s |
0m0.000s |
0m0.000s |
0m0.000s |
luongc |
0m4.859s |
0m29.458s |
no soln |
too few solns |
no soln |
too few solns |
no soln |
too few solns |
invalid soln |
invalid solns |
0m0.000s |
0m0.000s |
metrom |
0m0.676s |
0m5.796s |
no soln |
too few solns |
no soln |
incomplete |
no soln |
too few solns |
invalid soln |
invalid solns |
no soln |
too few solns |
naylod |
no soln |
incomplete |
no soln |
too few solns |
no soln |
incomplete |
no soln |
too few solns |
0m0.000s |
0m0.000s |
0m0.000s |
0m0.000s |
oranss |
no soln |
incomplete |
no soln |
incomplete |
no soln |
incomplete |
no soln |
too few solns |
invalid soln |
invalid solns |
0m0.002s |
0m0.002s |
qiuz |
0m10.680s |
0m11.284s |
no soln |
too few solns |
no soln |
too few solns |
no soln |
too few solns |
0m0.000s |
0m0.000s |
no soln |
too few solns |
samsok |
0m1.971s |
0m13.741s |
no soln |
too few solns |
0m28.905s |
0m39.404s |
no soln |
too few solns |
0m0.000s |
0m0.000s |
no soln |
too few solns |
scheme |
0m0.014s |
0m0.027s |
0m0.000s |
0m0.001s |
0m0.072s |
0m0.092s |
0m0.000s |
0m0.001s |
invalid soln |
invalid solns |
no soln |
too few solns |
weilg |
0m0.036s |
0m0.277s |
0m0.001s |
0m0.001s |
0m0.234s |
0m0.490s |
no soln |
too few solns |
invalid soln |
invalid solns |
no soln |
too few solns |
Winners
- "Best TA submission" : Ben Ball
- "Honorable Mention: Correctness on all basic tests" : MeiXing Dong, Kyle Samson, Michael Metrocavich
- "Honorable Mention: Fast on basic tests, without pushing" : Preston Law
- "Honorable Mention: Test cases used in contest" : Luke Champine, Dwight Naylor
- "Honorable Mention: Correctness on advanced tests, without pushing" : Lydia Nevin
- "Honorable Mention: Correctness on advanced tests, with pushing" : Vinson Liu
- "Overall: Creative & challenging test cases" : Greg Weil
- "Overall: Fastest on advanced tests, with pushing": Erik Schembor
- "Overall: Best performance on advanced tests, without pushing" : Ze Qin Qiu
Prizes
|