只有1,5过了,查了半天不知道拿错了,哪位大神指导一下
查看原帖
只有1,5过了,查了半天不知道拿错了,哪位大神指导一下
240709
woshishuilaizhe楼主2023/8/16 18:08
//P1205 [USACO1.2] 方块转换 Transformations 
#include<iostream>
using namespace std;
int main()
{
	int n, pd=0, i2, j2, jg=1, pd1=0, pd2=0, pd3=0;
	cin >> n;
	char ZHQ[n][n], ZHH[n][n];
	for(int i=1; i<=n; i++)
	{
		for(int j=1; j<=n; j++)
		{
			cin >> ZHQ[i][j];
		}
	}
	for(int i=1; i<=n; i++)
	{
		for(int j=1; j<=n; j++)
		{
			cin >> ZHH[i][j];
		}
	}
	i2 = 1;
	j2 = 3;
	for(int i1=1; i1<=n; i1++)
	{
		for(int j1=1; j1<=n; j1++)
		{
			if(ZHQ[i1][j1]!=ZHH[i2][j2]){jg=2;}
			i2++;
		}
		j2--;
		i2 = 1;
	}
	if(jg==1){cout << jg;return 0;}
	i2 = 3;
	j2 = 3;
	for(int i1=1; i1<=n; i1++)
	{
		for(int j1=1; j1<=n; j1++)
		{
			if(ZHQ[i1][j1]!=ZHH[i2][j2]){jg=3;}
			j2--;
		}
		i2--;
		j2 = 3;
	}
	if(jg==2){cout << jg;return 0;}
	i2 = 3;
	j2 = 1;
	for(int i1=1; i1<=n; i1++)
	{
		for(int j1=1; j1<=n; j1++)
		{
			if(ZHQ[i1][j1]!=ZHH[i2][j2]){jg=4;}
			i2--;
		}
		j2++;
		i2 = 3;
	}
	if(jg==3){cout << jg;return 0;}
	i2 = 1;
	j2 = 3;
	for(int i1=1; i1<=n; i1++)
	{
		for(int j1=1; j1<=n; j1++)
		{
			if(ZHQ[i1][j1]!=ZHH[i2][j2]){jg=5;}
			j2--;
		}
		i2++;
		j2 = 3;
	}
	if(jg==4){cout << jg;return 0;}
	i2 = 3;
	j2 = 3;
	for(int i1=1; i1<=n; i1++)
	{
		for(int j1=1; j1<=n; j1++)
		{
			if(ZHQ[i1][j1]!=ZHH[i2][j2]){pd1=1;}
			i2--;
		}
		j2++;
		i2 = 3;
	}
	i2 = 3;
	j2 = 1;
	for(int i1=1; i1<=n; i1++)
	{
		for(int j1=1; j1<=n; j1++)
		{
			if(ZHQ[i1][j1]!=ZHH[i2][j2]){pd2=1;}
			j2++;
		}
		i2--;
		j2 = 1;
	}
	i2 = 1;
	j2 = 1;
	for(int i1=1; i1<=n; i1++)
	{
		for(int j1=1; j1<=n; j1++)
		{
			if(ZHQ[i1][j1]!=ZHH[i2][j2]){pd3=1;}
			i2++;
		}
		j2++;
		i2 = 1;
	}
	if(pd1==1||pd2==1||pd3==1){jg=6;}
	if(jg==5){cout << jg;return 0;}
	for(int i=1; i<=n; i++)
	{
		for(int j=1; j<=n; j++)
		{
			if(ZHQ[i][j]!=ZHH[i][j]){jg=7;}
		}
	}
	cout << jg;
	return 0;
}
2023/8/16 18:08
加载中...