为什么过不了呜呜呜,求大佬看看错在哪
查看原帖
为什么过不了呜呜呜,求大佬看看错在哪
613172
mianm楼主2021/11/27 20:45
#include<stdio.h>
int check(char a[][10], char b[][10],int n);
void change1(char a[][10], int n);
void change4(char a[][10], int n);
int main()
{
	int n;
	scanf("%d\n", &n);
	char a[10][10], b[10][10];
	for (int i = 0;i < n;i++)
	{
		for (int j = 0;j < n;j++)
			scanf("%c", &a[i][j]);
		getchar();
	}
	for (int i = 0;i < n;i++)
	{
		for (int j = 0;j < n;j++)
			scanf("%c", &b[i][j]);
		getchar();
	}
	change1(a, n);
	if (check(a, b,n) == 1)
	{
		printf("1");
		goto end;
	}
	else
	{
		change1(a, n);
		if (check(a, b,n) == 1)
		{
			printf("2");
			goto end;
		}
		else
		{
			change1(a, n);
			if (check(a, b,n) == 1)
			{
				printf("3");
				goto end;
			}
			else change1(a, n);
		}
	}
	change4(a, n);
	if (check(a, b,n) == 1)
	{
		printf("4");
		goto end;
	}
	else
	{
		change1(a, n);
		if (check(a, b,n) == 1)
		{
			printf("5");
			goto end;
		}
		else
		{
			change1(a, n);
			if (check(a, b,n) == 1)
			{
				printf("5");
				goto end;
			}
			else
			{
				change1(a, n);
				if (check(a, b,n) == 1)
				{
					printf("5");
					goto end;
				}
				else
				{
					change1(a, n);
					change4(a, n);
				}
			}
		}
	}
	if (check(a, b,n) == 1)
	{
		printf("6");
		goto end;
	}
	else printf("7");
end:
	return 0;
}
void change1(char a[][10], int n)
{
	char c[10][10];
	for (int i = 0;i < n ;i++)
		for (int j = 0;j < n;j++)
			c[i][j] = a[i][j];
	for (int i = 0;i < n;i++)
		for (int j = 0;j < n;j++)
			a[i][j] = c[j][n - 1 - i];
}
void change4(char a[][10], int n)
{
	char temp;
	for (int i = 0;i < n;i++)
		for (int j = 0;j < n / 2;j++)
		{
			temp = a[i][j];
			a[i][j] = a[i][n - 1 - j];
			a[i][n - 1 - j] = temp;
		}
}
	int check(char a[][10],char b[][10],int n)
	{
		int c = 1;
		for (int i = 0;i < n;i++)
			for (int j = 0;j < n;j++)
				if (a[i][j] != b[i][j])
				{
					c = 0;
					goto E;
				}
		E:
		return c;
	}
2021/11/27 20:45
加载中...