CSCI 1200 Data Structures
Fall 2012
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 | |<C | | <C | | A C | |<A | | A | | | | | | | | A B | | | | | | | | | | | | v | | | | | | | | | + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + | | | ^ | | ^ | | | | ^ ^ | | | | | | | | ^ ^ | | | | | | D | | A D>| | D> | | D C | | | | A | |<A | | A B | | | | | | | | | | | | | | | | v | | | | | | | + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + | | | ^ ^ | | | | | | | | ^ ^ | | | | ^ | | ^ | | | | | | A B | | <B | | B | | | | D C | | C>| | C> B | | C | | | | | | | | | | v | | | | | | | | | | | | | + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + | ^ ^ | | | | | | | | | | | | ^ ^ | | | | | | ^ ^ | | A B | | | | | | | | B | | <B | | D B | |<D | | <D | | C D | | | | | | | | | | v | | | | | | | | | | | +---+---+ +---+---+ +---+---+ +---+---+ +---+---+ +---+---+ +---+---+ +---+---+ +---+---+ +---+---+
  • 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 +---+---+---+ +---+---+---+ +---+---+---+ +---+---+---+ +---+---+---+ +---+---+---+ +---+---+---+ | | | | | | | | | | | ^ | | | | <B | | C <B | | <B | |<B C | | B | | C A | | A>| | | | v | | | | v | | v | | v | | | + + + + + + + + + + + + + + + + + + + + + + + + + + + + | | | | | | | | | ^ | | | | | | C | | | | C | | | | C A | | B | |<B C | | v | | | | v | | | | v | | v | | v | + + + + + + + + + + + + + + + + + + + + + + + + + + + + | | | | | | | ^ | | | | | | | | A> | | 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 <D | |<D C | | D <C | |<C B | | C <B | |<B A | | B <A | |<A D | | | | v | | | | v | | | | v | | | | v | +---+---+ +---+---+ +---+---+ +---+---+ +---+---+ +---+---+ +---+---+ +---+---+
  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 | |<A | | A | | | | | | | | | | | | Y | | A | | 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 +---+---+---+ +---+---+---+ +---+---+---+ | | | | | ^ | | | | <A | |<A C | | | | | | | + + + + + + + + + + + + | | | | | ^ | | A | | C> | | 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 | | <A | |<A | | A | | | | | | | | | | <b | | <b | | <b | | <b | | <b | | <b | | <b | | | | | | | | | | | | v | | | | | | | | | | | | | | | | | | | | | | | + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ^ | | | | | | <b | | <b | | <b | | <b | | <b | | <b | | <b | | <b | | <b | | <b | | c> | | c> | | c> | | c> | | c> A | | c> <A | | 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

Bill's Ball Bearing Burr
Computer's Choice Unique 10
Pearl in the Shell