是我本地编译器有问题,还是洛谷编译器有问题??
查看原帖
是我本地编译器有问题,还是洛谷编译器有问题??
172628
黄城焱楼主2021/10/12 21:21
#include<bits/stdc++.h>
using namespace std;
char a[12][12],b[12][12];
int n,flag[11];
int main()
{
	scanf("%d",&n);
	char ch=getchar();
	for(int i=1;i<=n;i++)
	{
		int now=1;
		ch=getchar();
		while(ch=='@'||ch=='-')
		{
			a[i][now]=ch;
			ch=getchar();
			now++;
		}
		now=1;
	}
	for(int i=1;i<=n;i++)
	{
		int now=1;
		ch=getchar();
		while(ch=='@'||ch=='-')
		{
			b[i][now]=ch;
			ch=getchar();
			now++;
		}
		now=1;
	}
	for(int i=1;i<=n;i++)
	{
		for(int j=1;j<=n;j++)
		{
			if(a[i][j]!=b[j][n-i+1]) flag[1]=1;
			if(a[i][j]!=b[n-i+1][n-j+1]) flag[2]=1;
			if(a[i][j]!=b[n-j+1][i]) flag[3]=1;
			if(a[i][j]!=b[i][n-j+1]) flag[4]=1;
			if(a[i][j]!=b[i][j]) flag[6]=1;
		}
	}
	for(int i=1;i<=n;i++)
	{
		for(int j=1;j<=n/2;j++)
		{
			char t=a[i][j];
			a[i][j]=a[i][n-j+1];
			a[i][n-j+1]=t;
		}
	}
	for(int i=1;i<=n;i++)
	{
		for(int j=1;j<=n;j++)
		{
			if(a[i][j]!=b[j][n-i+1]) flag[8]=1;
			if(a[i][j]!=b[n-i+1][n-j+1]) flag[9]=1;
			if(a[i][j]!=b[n-j+1][i]) flag[10]=1;
		}
	}
	if(flag[8]==1&&flag[9]==1&&flag[10]==1) flag[5]=1;
	for(int i=1;i<=7;i++)
	{
		if(flag[i]==0)
		{
			printf("%d",i);
			return 0;
		}
	}
	return 0;
}

第二个数据点,我自己的编译器输出了正确答案‘5’,但是洛谷硬是说我输出了‘7’。为什么啊?

2021/10/12 21:21
加载中...