P1205求助
  • 板块题目总版
  • 楼主molly1212
  • 当前回复0
  • 已保存回复0
  • 发布时间2024/8/22 16:19
  • 上次更新2024/8/22 18:38:31
查看原帖
P1205求助
556017
molly1212楼主2024/8/22 16:19

P1205

总是第一个样例过不了......在本地测结果是对的,一交上去就不对了。

[P1205] (https://www.luogu.com.cn/problem/P1205)

总是第一个样例过不了......在本地测结果是对的,一交上去就不对了。
#include <iostream>
#include <cstring>
using namespace std;
int n;
char s[15][15],t[15][15],b[15][15];
bool f1()
{
	memset(b,0,sizeof(b));
	for (int i = 1;i <= n;i++)
        for (int j = 1;j <= n;j++)
			b[j][n-i+1] = s[i][j];
    for (int i = 1;i <= n;i++)
    	for (int j = 1;j <= n;j++)
			if(b[i][j] != t[i][j]) return 0;
    return 1;
}
bool f2()
{
	memset(b,0,sizeof(b));
	for (int i = 1;i <= n;i++)
        for (int j = 1;j <= n;j++)
			b[n-i+1][n-j+1] = s[i][j];
	for (int i = 1;i <= n;i++)
    	for (int j = 1;j <= n;j++)
			if(b[i][j] != t[i][j]) return 0;
	return 1;
}
bool f3()
{
	memset(b,0,sizeof(b));
	for (int i = 1;i <= n;i++)
        for (int j = 1;j <= n;j++)
			b[n-j+1][i] = s[i][j];
	for (int i = 1;i <= n;i++)
    	for (int j = 1;j <= n;j++)
			if(b[i][j] != t[i][j]) return 0;
	return 1;
}
bool f4()
{
	memset(b,0,sizeof(b));
	for (int i = 1;i <= n;i++)
        for (int j = 1;j <= n;j++)
			b[i][n-j+1] = s[i][j];
	for (int i = 1;i <= n;i++)
    	for (int j = 1;j <= n;j++)
			if(b[i][j] != t[i][j]) return 0;
	return 1;
}
bool f5()
{
	memset(b,0,sizeof(b));
	for (int i = 1;i <= n;i++)
        for (int j = 1;j <= n;j++)
			b[i][n-j+1] = s[i][j];
	for (int i = 1;i <= n;i++)
	{
		for (int j = 1;j <= n;j++)
		{
			s[i][j] = b[i][j];
		}
	}
	if (f1()) return 1;
	if (f2()) return 1;
	if (f3()) return 1;
}
bool f6()
{
	for (int i = 1;i <= n;i++)
	{
		for (int j = 1;j <= n;j++)
		{
			if (s[i][j] != t[i][j]) return 0;
		}
	}
	return 1;
}
int main()
{
	cin >> n;
	for (int i = 1;i <= n;i++)
	{
		for (int j = 1;j <= n;j++)
		{
			cin >> s[i][j];
		}
	}
	for (int i = 1;i <= n;i++)
	{
		for (int j = 1;j <= n;j++)
		{
			cin >> t[i][j];
		}
	}
	if (f1()) cout << 1;
	else if (f2()) cout << 2;
	else if (f3()) cout << 3;
	else if (f4()) cout << 4;
	else if (f6()) cout << 6;
	else if (f5()) cout << 5;
	else cout << 7;
	cout << endl;
	return 0;
}
2024/8/22 16:19
加载中...