OpenJudge

GCC 696B

  • 埃格·培恩先生
    埃格·培恩先生 18.1.30 回复

    #include <stdio.h>
    #define NB(x,y,c) (M[x+1][y]==c||M[x-1][y]==c||M[x][y+1]==c||M[x][y-1]==c)
    char M[102][102],MM[102][102];
    int R,C,t;
    int main(){
    scanf("%d %d %d",&R,&C,&t);
    for(int i=1;i<=R;i++) scanf("%s",M[i]+1);
    while(t--){
    for(int i=1;i<=R;i++) for (int j=1;j<=C;j++)
    if((M[i][j]=='R'&&!NB(i,j,'P'))||(M[i][j]=='S'&&NB(i,j,'R'))) MM[i][j]='R';
    else if((M[i][j]=='S'&&!NB(i,j,'R'))||(M[i][j]=='P'&&NB(i,j,'S'))) MM[i][j]='S';
    else if((M[i][j]=='P'&&!NB(i,j,'S'))||(M[i][j]=='R'&&NB(i,j,'P'))) MM[i][j]='P';
    for(int i=1;i<=R;i++) for (int j=1;j<=C;j++) M[i][j]=MM[i][j];
    }
    for(int i=1;i<=R;i++) printf("%s\n",M[i]+1);
    }

想要评论吗?

注册OpenJudge账号,如果您已经注册,请先登入