C++,唯5#不过,求助解答或帮忙下载数据点(可私信)
查看原帖
C++,唯5#不过,求助解答或帮忙下载数据点(可私信)
763305
TCU_ZichengZhao楼主2022/8/5 17:00

其实我还想自己试试,但是没有下载权限

可恶的新号

如果有朋友愿意帮我康康代码就好了

虽然很长

当然,如果嫌麻烦,也可以帮我下载一下5#数据,我自己来找错。

谢谢你!

#include<iostream>
using namespace std;
int n=0,i=0,j=0;
bool flag=0;
char a[12][12]={0},b[12][12]={0},c[12][12]={0};
int turn()//顺时针90° 
{
	for(i=1;i<=n;i++)
		for(j=1;j<=n;j++)
			c[i][j]=a[n-j+1][i];
	for(i=1;i<=n;i++)
		for(j=1;j<=n;j++)
			a[i][j]=c[i][j];
//	cout<<"turn"<<endl;
}
int mirror()//镜像 
{
	for(i=1;i<=n;i++)
		for(j=1;j<=n;j++)
			c[i][j]=a[i][n-j+1];
	for(i=1;i<=n;i++)
		for(j=1;j<=n;j++)
			a[i][j]=c[i][j];
//	cout<<"mirror"<<endl;
}
int check()
{
	flag=1;
	for(i=1;i<=n;i++)
	{	
		for(j=1;j<=n;j++)
		{
			if(a[i][j]!=b[i][j])
			{
				flag=0;
				break;
			}
		}
		if(flag==0)
			break;
	}
//	cout<<"check"<<endl;
}
int main()
{
	cin>>n;
	for(i=1;i<=n;i++)
		for(j=1;j<=n;j++)
		    cin>>a[i][j];
	for(i=1;i<=n;i++)
		for(j=1;j<=n;j++)
		    cin>>b[i][j];
	check();
	if(flag==1)
	{
		cout<<"6";
		return 0;
	}
	turn();
//	for(i=1;i<=n;i++)
//	{
 //    	for(j=1;j<=n;j++)
//		    cout<<a[i][j];
//		cout<<endl;
//	}
    check();
	if(flag==1)
	{
		cout<<"1";
		return 0;
	}
	turn();
    check();
	if(flag==1)
	{
		cout<<"2";
		return 0;
	}
	turn();
    check();
	if(flag==1)
	{
		cout<<"3";
		return 0;
	}
	turn();
	mirror();
    check();
	if(flag==1)
	{
		cout<<"4";
		return 0;
	}
	turn();
    check();
	if(flag==1)
	{
		cout<<"5";
		return 0;
	}
	turn();
    check();
	if(flag==1)
	{
		cout<<"5";
		return 0;
	}
	turn();
    check();
	if(flag==1)
	{
		cout<<"5";
		return 0;
	}
	if(flag==0)
	{
		cout<<"7";
		return 0;
	}
}
2022/8/5 17:00
加载中...