Stack Exchange network consists of 183 Q&A communities including Stack Overflow, the largest, most trusted online community for developers to learn, share their knowledge, and build their careers.
"The problem becomes efficiently soluble if we take away the per-cell preference..." Ok - so we can make it simpler by saying that these plants are only sown in 'rows', rather than cells. That's an easy fix, but the 'Neighbour Row + 1' still makes it too messy to be 'efficient'? From what I understand then, the best way to go about this would be to grid all plants against each other, and where they intersect, assign a score (-2 to +2) based on their interaction, then choose the highest scoring interactions and work down through the interactions? Not 'elegant', but logical, I guess?