求助求助,为什么我自己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
大佬们救救我!!!卡这道题很久了