zoukankan      html  css  js  c++  java
  • 16:矩阵剪刀石头布

    16:矩阵剪刀石头布

    总时间限制: 
    5000ms
     
    内存限制: 
    65536kB
    描述

    Bart的妹妹Lisa在一个二维矩阵上创造了新的文明。矩阵上每个位置被三种生命形式之一占据:石头,剪刀,布。每天,上下左右相邻的不同生命形式将会发生战斗。在战斗中,石头永远胜剪刀,剪刀永远胜布,布永远胜石头。每一天结束之后,败者的领地将被胜者占领。

    你的工作是计算出n天之后矩阵的占据情况。

    输入
    第一行包含三个正整数r,c,n,分别表示矩阵的行数、列数以及天数。每个整数均不超过100。
    接下来r行,每行c个字符,描述矩阵初始时被占据的情况。每个位置上的字符只能是R,S,P三者之一,分别代表石头,剪刀,布。相邻字符之间无空格。
    输出
    输出n天之后的矩阵占据情况。每个位置上的字符只能是R,S,P三者之一,相邻字符之间无空格。
    样例输入
    3 3 1
    RRR
    RSR
    RRR
    
    样例输出
    RRR
    RRR
    RRR
    
    来源
    Waterloo local 2003.01.25
     1 #include<cstdio>
     2 #include<cstring>
     3 #include<iostream>
     4 using namespace std;
     5 
     6 char a[110][110],b[110][110];
     7 int n,m,t;
     8 
     9 int main()
    10 {
    11 cin >> n >> m >> t;
    12 for(int i=1;i<=n;i++)
    13 for(int j=1;j<=m;j++)
    14 {
    15 cin>>a[i][j];
    16 b[i][j]=a[i][j];
    17 }
    18 for(int k=1;k<=t;k++)
    19 {
    20 for(int i=1;i<=n;i++)
    21 for(int j=1;j<=m;j++)
    22 {
    23 if(a[i][j]=='R')
    24 {
    25 if(a[i-1][j]=='S')b[i-1][j]='R';
    26 if(a[i+1][j]=='S')b[i+1][j]='R';
    27 if(a[i][j-1]=='S')b[i][j-1]='R';
    28 if(a[i][j+1]=='S')b[i][j+1]='R';
    29 }
    30 if(a[i][j]=='S')
    31 {
    32 if(a[i-1][j]=='P')b[i-1][j]='S';
    33 if(a[i+1][j]=='P')b[i+1][j]='S';
    34 if(a[i][j-1]=='P')b[i][j-1]='S';
    35 if(a[i][j+1]=='P')b[i][j+1]='S';
    36 }
    37 if(a[i][j]=='P')
    38 {
    39 if(a[i-1][j]=='R')b[i-1][j]='P';
    40 if(a[i+1][j]=='R')b[i+1][j]='P';
    41 if(a[i][j-1]=='R')b[i][j-1]='P';
    42 if(a[i][j+1]=='R')b[i][j+1]='P';
    43 }
    44 }
    45 for(int i=1;i<=n;i++)
    46 for(int j=1;j<=m;j++)
    47 a[i][j]=b[i][j];
    48 }
    49 for(int i=1;i<=n;i++)
    50 {
    51 for(int j=1;j<=m;j++)
    52 cout << b[i][j];
    53 cout << "
    ";
    54 }
    55 return 0;
    56 }
  • 相关阅读:
    利用Expression实现DbReader到对象属性的绑定
    致多年后第一次更新
    阿拉伯数字转换成中文大写
    Android程序的入口点是什么,不是Main()吗
    imageButton 和button的区别
    对象和引用的区别
    hdu 4455 Substrings
    Running Rabbits
    ZOJ Problem Set
    几乎就是并查集 (Almost Union-Find,UVa 11987)
  • 原文地址:https://www.cnblogs.com/zwfymqz/p/6497126.html
Copyright © 2011-2022 走看看