记录编号 109593 评测结果 AAAAAAA
题目名称 方块转换 最终得分 100
用户昵称 Gravatarslyrabbit 是否通过 通过
代码语言 C++ 运行时间 0.002 s
提交时间 2014-07-09 09:17:30 内存使用 0.31 MiB
显示代码纯文本
#include<iostream>
#include<cstdio>
using namespace std;
char f[15][15],l[15][15];
int n;
bool t=false;
void check1()
{
	if(t==true)
		return;
	for(int i=0,jl=n-1;i<n,jl>=0;i++,jl--)
	{
		for(int jf=0,il=0;jf<n,il<n;jf++,il++)
		{
			if(f[i][jf]!=l[il][jl])
			{
				return;
			}
		}
	}
	t=true;
}
void check2()
{
	if(t==true)
		return;
	for(int i=0,il=n-1;i<n,il>=0;i++,il--)
	{
		for(int jf=0,jl=n-1;jf<n,jl>=0;jf++,jl--)
		{
			if(f[i][jf]!=l[il][jl])
				return;
		}
	}
	t=true;
}
void check3()
{
	if(t==true)
		return;
	for(int i=0,jl=0;i<n,jl<n;i++,jl++)
	{
		for(int jf=0,il=n-1;jf<n,il>=0;jf++,il--)
		{
			if(f[i][jf]!=l[il][jl])
				return;
		}
	}
	t=true;
}
void check4()
{
	if(t==true)
		return;
	for(int i=0;i<n;i++)
	{
		for(int j=0,jl=n-1;j<n,jl>=0;j++,jl--)
		{
			if(f[i][j]!=l[i][jl])
				return;
		}
	}
	t=true;
}
void check5()
{
	if(t==true)
		return;
	char temp;
	for(int i=0;i<n;i++)
	{
		for(int j=0;j<n/2;j++)
		{
			temp=l[i][j];
			l[i][j]=l[i][n-j-1];
			l[i][n-j-1]=temp;
		}
	}
	check1();
	check2();
	check3();
	for(int i=0;i<n;i++)
	{
		for(int j=0;j<n;j++)
		{
			temp=l[i][j];
			l[i][j]=l[i][n-j-1];
			l[i][n-j-1]=temp;
		}
	}
}
void check6()
{
	if(t==true)
		return;
	for(int i=0;i<n;i++)
	{
		for(int j=0;j<n;j++)
		{
			if(f[i][j]!=l[i][j])
				return;
		}
	}
	t=true;
}
int main()
{
	freopen("transformations.in","r",stdin);
	freopen("transformations.out","w",stdout);
	cin>>n;
	for(int i=0;i<n;i++)
	{
		for(int j=0;j<n;j++)
		{
			cin>>f[i][j];//i指行序号,j指列序号
		}
	}
	for(int i=0;i<n;i++)
	{
		for(int j=0;j<n;j++)
		{
			cin>>l[i][j];
		}
	}
	if(t==false){
	    check1();if(t==true)cout<<1;
	}
	if(t==false){
	    check2();if(t==true)cout<<2;
	}
	if(t==false){
	    check3();if(t==true)cout<<3;
	}
	if(t==false){
	    check4();if(t==true)cout<<4;
	}
	if(t==false){
	    check5();if(t==true)cout<<5;
	}
	if(t==false){
	    check6();if(t==true)cout<<6;
	}
	if(t==false)
		cout<<7;
	return 0;
}