15分求调,只有6过
查看原帖
15分求调,只有6过
1404467
Lilindong楼主2024/8/4 13:57

别看代码长,其实结构都差不多

#include<stdio.h>
int n,re;
char a[15][15],b[15][15],c[15][15],d[15][15];
int main()
{
    int i,j;
    scanf("%d",&n);
    for(i=1;i<=n;i++)
      {
      	for(j=1;j<=n;j++)
      scanf("%c",&a[i][j]);
      scanf("\n");
	  }
    for(i=1;i<=n;i++)
      {
      	for(j=1;j<=n;j++)
      scanf("%c",&c[i][j]);
      scanf("\n");
	  }
    for(i=1;i<=n;i++)
      for(j=1;j<=n;j++)
      b[i][n-j+1]=a[i][j];
      for(i=1;i<=n;i++)
      for(j=1;j<=n;j++)
      if(a[i][j]!=c[i][j])
      {
          re=0;
          break;
      }
      else
      re=6;
    if(re!=6)
    {
    	for(i=1;i<=n;i++)
      for(j=1;j<=n;j++)
      if(b[i][j]!=c[i][j])
      {
          re=0;
          break;
      }
      else
      re=4;
	}
      if(re!=6&&re!=4)
      {
      	 for(i=1;i<=n;i++)
      for(j=1;j<=n;j++)
      d[j][n-i+1]=b[i][j]; 
      for(i=1;i<=n;i++)
      for(j=1;j<=n;j++)
      if(d[i][j]!=c[i][j])
      {
          re=0;
          break;
      }
      else
      re=5;
	  }
       if(re!=6&&re!=4&&re!=5)
       {
       	for(i=1;i<=n;i++)
      for(j=1;j<=n;j++)
      d[n-i+1][n-j+1]=b[i][j];
      for(i=1;i<=n;i++)
      for(j=1;j<=n;j++)
      if(d[i][j]!=c[i][j])
      {
          re=0;
          break;
      }
      else
      re=5;
	   }
	   if(re!=6&&re!=4&&re!=5)
        {
        	for(i=1;i<=n;i++)
      for(j=1;j<=n;j++)
      d[n-j+1][i]=a[i][j];
      for(i=1;i<=n;i++)
      for(j=1;j<=n;j++)
      if(d[i][j]!=c[i][j])
      {
          re=0;
          break;
      }
      else
      re=5;
		}
        if(re!=6&&re!=4&&re!=5)
      {
      	for(i=1;i<=n;i++)
      for(j=1;j<=n;j++)
      b[j][n-i+1]=a[i][j];
      for(i=1;i<=n;i++)
      for(j=1;j<=n;j++)
      if(b[i][j]!=c[i][j])
      {
          re=0;
          break;
      }
      else
      re=1;
	  }
	  if(re!=6&&re!=4&&re!=5&&re!=1)
       {
       	for(i=1;i<=n;i++)
      for(j=1;j<=n;j++)
      b[n-i+1][n-j+1]=a[i][j];
      for(i=1;i<=n;i++)
      for(j=1;j<=n;j++)
      if(b[i][j]!=c[i][j])
      {
          re=0;
          break;
      }
      else
      re=2;
	   }
	   if(re!=6&&re!=4&&re!=5&&re!=1&&re!=2)
        {
        	for(i=1;i<=n;i++)
      for(j=1;j<=n;j++)
      b[n-j+1][i]=a[i][j];
      for(i=1;i<=n;i++)
      for(j=1;j<=n;j++)
      if(b[i][j]!=c[i][j])
      {
          re=0;
          break;
      }
      else
      re=3;
		}
      printf("%d",re);
      return 0;
}
2024/8/4 13:57
加载中...