r*c的由剪刀、石头、布组成的矩阵。每天都与上下左右的邻居进行战斗,胜者占领败者的土地。求n天后矩阵的情况。
#include <iostream>
using namespace std;
//PRR
//RSS
//RSR
char a[104][104];
char b[104][104];
int dx[4]={0,1,0,-1};
int dy[4]={1,0,-1,0};
int main()
{
int T;
cin>>T;
for(int _=0;_<T;_++)
{
int n,m,ts;
cin>>n>>m>>ts;
for(int i=0;i<n;i++)
{
for(int j=0;j<m;j++)
{
cin>>a[i][j];
}
}
for(int o=0;o<ts;o++)
{
for(int i=0;i<n;i++)
{
for(int j=0;j<m;j++)
{
b[i][j]=a[i][j];
for(int k=0;k<4;k++)
{
int x=dx[k]+i;
int y=dy[k]+j;
if(x>=0 && x<n && y>=0 && y<m )
{
if(a[x][y]=='P' && a[i][j]=='R')
{
b[i][j]='P';
}else if(a[x][y]=='S' && a[i][j]=='P')
{
b[i][j]='S';
}else if(a[x][y]=='R' && a[i][j]=='S')
{
b[i][j]='R';
}
}
}
}
}
for(int i=0;i<n;i++)
{
for(int j=0;j<m;j++)
{
a[i][j]=b[i][j];
}
}
}
for(int i=0;i<n;i++)
{
for(int j=0;j<m;j++)
{
cout<<b[i][j];
}
cout<<endl;
}
cout<<endl;
}
return 0;
}