rock,scissors,paper.txt

来自「以前ACM在哈工程HRBEU做的一些简单题目」· 文本 代码 · 共 56 行

TXT
56
字号
#include <iostream>
using namespace std;
char a[101][101],b[101][101];
void kkk(int i,int j)
{
	if(a[i][j]==a[i+1][j])return;
	if((a[i][j]=='R'&&a[i+1][j]=='S')||(a[i][j]=='P'&&a[i+1][j]=='R')||(a[i][j]=='S'&&a[i+1][j]=='P'))b[i+1][j]=a[i][j];
	else b[i][j]=a[i+1][j];
	return;
}
void lll(int i,int j)
{
	if(a[i][j]==a[i][j+1])return;
	if((a[i][j]=='R'&&a[i][j+1]=='S')||(a[i][j]=='P'&&a[i][j+1]=='R')||(a[i][j]=='S'&&a[i][j+1]=='P'))b[i][j+1]=a[i][j];
	else b[i][j]=a[i][j+1];
	return;
}

  
int main()
{
	long n,r,c,d;
	int i,j;
	char s;
	cin>>n;
	while(n--)
	{
      cin>>r>>c>>d;
	  for(i=0;i<r;i++)
		  for(j=0;j<c;j++)
		  {
			  cin>>s;
			  a[i][j]=s;
			  b[i][j]=s;
		  }
		  while(d--)
		  {
			  for(i=0;i<r;i++)
				  for(j=0;j<c;j++)
				  {
					  if(j+1<c)lll(i,j);
					  if(i+1<r)kkk(i,j);
					  a[i][j]=b[i][j];
				  }
		  }
		  for(i=0;i<r;i++)
		  {
			  b[i][c]='\0';
		      cout<<b[i]<<endl;
		  }
		  
		 if(n)cout<<endl;
	 }
	return 0;
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?