H

#### hAmmeRoL

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!