Your task:
Find the most efficient mowing path around the dark green bushes that mows (passes over) all of the grass (light green).
For those who cannot view the image above, there are 9 rows of 16, as follows:
- dark squares signify grass
- stars signify bushes
■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■
■ * * * * ■ ■ * * * ■ * * * * ■
■ * ■ ■ * ■ * ■ ■ ■ ■ * ■ ■ ■ ■
■ * ■ ■ * ■ ■ * ■ ■ ■ * ■ ■ ■ ■
■ * ■ * * ■ ■ ■ ■ ■ ■ ■ ■ * * ■
■ * ■ ■ ■ ■ ■ ■ * ■ ■ * ■ ■ ■ ■
■ * ■ ■ ■ ■ ■ ■ ■ * ■ * ■ ■ ■ ■
■ * ■ ■ ■ ■ * * * ■ ■ * * * * ■
■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■
Rules:
- The mower can move only horizontally and vertically.
- "Efficient" means the fewest number of total moves made.
- You can start from any square you pick.
- You must stay in bounds and cannot mow over, under, or through any bushes.
"Efficient" can also be thought of as minimizing the number of squares that are mowed more than once.
Example:
Here is an example of a 128-move mowing:
- orange squares mowed twice, red square mowed 3 times
- squares mowed more than once remain marked with their original number
For those who cannot view images:
- *** signifies a bush
- ### signifies the order mowed
- squares mowed more than once remain marked with their original number
001 002 003 004 005 006 007 008 009 010 011 012 013 014 015 016
128 *** *** *** *** 073 074 *** *** *** 056 *** *** *** *** 017
127 *** 093 094 *** 072 *** 060 059 058 055 *** 037 038 039 018
126 *** 092 095 *** 071 070 *** 062 063 054 *** 036 041 040 019
125 *** 091 *** *** 078 069 068 067 064 033 034 035 *** *** 020
124 *** 090 089 088 079 080 081 *** 065 032 *** 044 045 046 021
123 *** 099 100 087 086 085 082 083 *** 031 *** 049 048 047 022
122 *** 118 101 102 103 *** *** *** 109 030 *** *** *** *** 023
121 120 117 116 115 104 105 106 107 108 029 028 027 026 025 024
There are 106 squares to be mowed, however, the optimal score is greater than 106.
If your answer uses less moves than the lowest-move answer so far AND you suspect it could be optimal, then post it!
Otherwise, please don't post it, even if it is significantly different than any other answer posted. The idea behind this request is to prevent answers that do not trend toward the optimal solution.