UVa 10443

From Algorithmist
Jump to navigation Jump to search

10443 - Rock, Scissors, Paper[edit]

http://uva.onlinejudge.org/external/104/10443.html

Summary[edit]

We have a R x C matrix of 'R's 'S's and 'P's ( rock, scissors and paper, respectively ). Like the known game of same name, 'R' beat 'S' that beat 'P' that beat 'R'.

Every day, each R|S|P try to get your vertical/horizontal adjacent position.

your mission is to show the state of the matrix before the Nth day.

Explanation[edit]

The positions will only be changed at the end of day. Cause it, you may keep 2 matrix, one for today, and one for tomorrow.

Gotchas[edit]

One 'R' only can be changed for 'P'. and, iff 'R' have a 'P' as neighbor. One 'S' only can be changed for 'R'. and, iff 'S' have a 'R' as neighbor. One 'P' only can be changed for 'S'. and, iff 'P' have a 'S' as neighbor.

Example[edit]

|RSPR|                  |RRSP|                  |RRRS|                  |RRRR|
|SPRS|  == 1st day ==>  |RSPR|  == 2nd day ==>  |RRSP|  == 3rd day ==>  |RRRS|  . . .
|PRSP|                  |SPRS|                  |RSPR|                  |RRSP|

Input[edit]

3
3 3 1
RRR
RSR
RRR
3 4 2
RSPR
SPRS
PRSP
10 10 10
SSSSSRRRRR
PPPPPPPPPP
PSPSPSPSPS
PRPRPRPRPR
RPRPRPRPRP
PPPPPRRRRR
SSSSSRRRRR
RRSPRRSPRR
PPPSSSSSSS
SSSSSSSSSS

Output[edit]

RRR
RRR
RRR

RRRS
RRSP
RSPR

SSRPPSPSPS
SRSRPRSRSR
RPRPRPRPRP
SSSSSSSPSP
SSSSRSSPPP
SRSRPRSSPR
RPRPSSSSSP
PSPRSSPRSS
SSRPSPRPSP
PSSRPRSRPR