H
hAmmeRoL
The problem is described below:
There are three kinds of units in the map, known as Rock Paper and
Scissors(randomly generated). Each cell of the map is occupied with
one of the three units (assume there are no empty cells). Each turn,
the three units will fight for their terrirory in the map and they can
only fight in the four directions (up, down, right, left). Rules are
typical RPS rules. For example, a cell of rock surrounded by four
scissors will remain rock and the four adjacent cells will be rock in
the next generation. And a paper cell with at least one adjacent
scissors cell will be scissors cell in the next generation.
And now an algorithm is needed to calculate the Nth generation of the
map.
My thought now is to check each cell and its adjacent cells. If there
are at least one cell that can beat this cell, then in the next
generation the cell will change to that. And we do this method N times
to calculate the map.
But I wonder is there some kind of direct approach to this algorithm??
Or can this algorithm optimize in some way??
Thanks in advance!
There are three kinds of units in the map, known as Rock Paper and
Scissors(randomly generated). Each cell of the map is occupied with
one of the three units (assume there are no empty cells). Each turn,
the three units will fight for their terrirory in the map and they can
only fight in the four directions (up, down, right, left). Rules are
typical RPS rules. For example, a cell of rock surrounded by four
scissors will remain rock and the four adjacent cells will be rock in
the next generation. And a paper cell with at least one adjacent
scissors cell will be scissors cell in the next generation.
And now an algorithm is needed to calculate the Nth generation of the
map.
My thought now is to check each cell and its adjacent cells. If there
are at least one cell that can beat this cell, then in the next
generation the cell will change to that. And we do this method N times
to calculate the map.
But I wonder is there some kind of direct approach to this algorithm??
Or can this algorithm optimize in some way??
Thanks in advance!