大佬们求救!!!洛谷和自己跑出来答案不一样
查看原帖
大佬们求救!!!洛谷和自己跑出来答案不一样
416722
HDBhanko楼主2020/11/13 09:24

求助求助,为什么我自己Dev c++上跑出来的答案和洛谷跑出来的答案就是不一样。这道题测试点2应该输出5,我Dev c++上跑出来就是5,可是洛谷上跑出来是7 大佬们救救我!!! 大佬们救救我!!! 大佬们救救我!!!

#include "stdio.h"
int t1(int);
int t2(int);
int t3(int);
int t4(int);
int t5(int);
int t6(int);
int t7(int);

char a[200][200]={};
char b[200][200]={};
int main()
{
	
	int i,j,k;
	
	int n;
	int t;
	
	scanf("%d",&n);
	getchar();
	for (j = 0 ; j < n ; j++)
	{
		for (i = 0; i < n ; i++)
		scanf("%1c",&a[j][i]);	
	    getchar();	
	}
	for (j = 0 ; j < n ; j++)
	{
		for (i = 0; i < n ; i++)
		scanf("%1c",&b[j][i]);		
		getchar();	
	}
	if(t1(n)) 
	{
	  printf("1\n");
	}
	else
	if(t2(n))
	{
	  printf("2\n");
	}
	else
	if(t3(n))
	{
	  printf("3\n");
	}
	else
	if(t4(n))
	{
	  printf("4\n");
	}
	else
	if(t5(n))
	{
	  printf("5\n");
	}
	else
	if(t6(n))
	{
	  printf("6\n");
	}
	else
	{
	  printf("7\n");
	}
	return 0;
}
int t1(int n)
{
	int i,j;
    for(i = 0;i < n;i++)
     for(j = 0;j < n;j++)
     if(b[j][n-i-1]!=a[i][j])
     return 0;
     return 1;
}
int t2(int n)
{
	int i,j;
    for(i=0;i<n;i++)
     for(j=0;j<n;j++)
     if(b[n-1-i][n-1-j]!=a[i][j])
     return 0;
     return 1;
}
int t3(int n)
{
	int i,j;
	for(i=0;i<n;i++)
      for(j=0;j<n;j++)
     if(b[n-1-j][i]!=a[i][j])
     return 0;
     return 1;
}
int t4(int n)
{
	int i,j;
	for(i=0;i<n;i++)
      for(j=0;j<n;j++)
     if(b[i][n-1-j]!=a[i][j])
     return 0;
     return 1;
}
int t5(int n)
{
	int i,j;
	char ch;
	for(i=0;i<n/2+1;i++)
      for(j=0;j<n/2+1;j++)
      {
      	ch = a[i][j];
      	a[i][j]=a[i][n-1-j] ;
		a[i][n-j-1]  = ch;
	  } 
      if(t1(n))
      return 1;
      if(t2(n))
      return 1;
      if(t3(n))
      return 1;
      return 0;
}
int t6(int n)
{
	int i,j;
	for(i=0;i<n;i++)
      for(j=0;j<n;j++)
     if(b[i][j]!=a[i][j])
     return 0;
     return 1;
}

附测试点2数据

5
-@@@-
-@@--
-@---
-----
-----
-----
----@
---@@
--@@@
-----

答案输出是

5

大佬们救救我!!!卡这道题很久了

2020/11/13 09:24
加载中...