本地试了测试点是对的,但就是过不了,求助
查看原帖
本地试了测试点是对的,但就是过不了,求助
1053580
xiong244466666楼主2023/12/2 18:41
#include<stdio.h>
struct matrix{
	char arr[10][10];
};
int judge(struct matrix ma0, struct matrix ma1, int n);//判断图形是否相同
void revolve(struct matrix ma0, struct matrix* ma1, int n);//顺时针旋转90度
void shuiping(struct matrix ma0, struct matrix* ma1, int n);//水平翻转

int main()
{
	int n;
	scanf_s("%d", &n);
	getchar();
	struct matrix ma0, ma1, ma2, ma3, ma4, ma5;//ma0记录原图形,ma1记录目标图形
	for (int i = 0; i < n; i++)
	{
		for (int j = 0; j < n; j++)
		{
			scanf_s("%c", &ma0.arr[i][j]);
		}
		getchar();
	}
	for (int i = 0; i < n; i++)
	{
		for (int j = 0; j < n; j++)
		{
			scanf_s("%c", &ma1.arr[i][j]);
		}
		getchar();
	}
	revolve(ma0, &ma2, n);//ma2记录旋转90度
	if (judge(ma1, ma2, n))
	{
		printf("1");
		return 0;
	}
	revolve(ma2, &ma3, n);//ma3记录旋转180度
	if (judge(ma1, ma3, n))
	{
		printf("2");
		return 0;
	}
	revolve(ma3, &ma4, n);//ma4记录旋转270度
	if (judge(ma1, ma4, n))
	{
		printf("3");
		return 0;
	}
	shuiping(ma0, &ma2, n);//ma2记录水平翻转
	if (judge(ma1, ma2, n))
	{
		printf("4");
		return 0;
	}
	revolve(ma2, &ma3, n);
	revolve(ma3, &ma4, n);
	revolve(ma4, &ma5, n);//ma5记录翻转后旋转90度
	revolve(ma2, &ma3, n);
	revolve(ma3, &ma4, n);//ma4记录翻转后旋转180度
	revolve(ma2, &ma3, n);//ma3记录翻转后旋转270度
	if (judge(ma1, ma3, n) || judge(ma1, ma4, n) || judge(ma1, ma5, n))
	{
		printf("5");
		return 0;
	}
	if (judge(ma1, ma0, n))
	{
		printf("6");
		return 0;
	}
	printf("7");
	return 0;
}

int judge(struct matrix ma0, struct matrix ma1, int n)
{
	int b = 1;
	for (int i = 0; i < n; i++)
	{
		for (int j = 0; j < n; j++)
		{
			if (ma0.arr[i][j] != ma1.arr[i][j])
			{
				b = 0;
				return b;
			}
		}
	}
	return b;
}
void revolve(struct matrix ma0, struct matrix* ma1, int n)
{
	for (int i = 0; i < n; i++)
	{
		for (int j = 0; j < n; j++)
		{
			ma1->arr[j][n - i - 1] = ma0.arr[i][j];
		}
	}
}
void shuiping(struct matrix ma0, struct matrix* ma1, int n)
{
	for (int i = 0; i < n; i++)
	{
		for (int j = 0; j < n; j++)
		{
			ma1->arr[i][n - j - 1] = ma0.arr[i][j];
		}
	}
}
2023/12/2 18:41
加载中...