满江红求条
查看原帖
满江红求条
1431223
yuhaichen666楼主2025/1/24 19:06
#include<bits/stdc++.h> 
using namespace std;
int n;
char c1[19][19],c2[19][19],k[19][19],m[19][19];
bool A(){
    for(int i=1;i<=n;i++){
        for(int j=1;j<=n;j++)
        	m[j][n-i+1]=c1[i][j];
    }
    for(int i=1;i<=n;i++){
    	for(int j=1;j<=n;j++){
			if(m[i][j]!=k[i][j])return false;    		
		}
	}
    return true;
}
bool B(){
    for(int i=1;i<=n;i++){
        for(int j=1;j<=n;j++)
        m[j][n-i+1]=c1[i][j];
    }
    for(int i=1;i<=n;i++){
        for(int j=1;j<=n;j++)
        m[j][n-i+1]=c1[i][j];
    }
    for(int i=1;i<=n;i++){
    	for(int j=1;j<=n;j++){
			if(m[i][j]!=k[i][j])return false;    		
		}
	}
    return true;
}
bool C(){
    for(int i=1;i<=n;i++){
        for(int j=1;j<=n;j++)
        m[j][n-i+1]=c1[i][j];
    }
    for(int i=1;i<=n;i++){
        for(int j=1;j<=n;j++)
        m[j][n-i+1]=c1[i][j];
    }
    for(int i=1;i<=n;i++){
        for(int j=1;j<=n;j++)
        m[j][n-i+1]=c1[i][j];
    }
    for(int i=1;i<=n;i++){
    	for(int j=1;j<=n;j++){
			if(m[i][j]!=k[i][j])return false;    		
		}
	}
    return true;
}
bool D(){
	for(int i=1;i<=n;i++){
        for(int j=1;j<=n;j++){
    	    m[i][n-j+1]=c1[i][j];        	
		}
    }
    for(int i=1;i<=n;i++){
    	for(int j=1;j<=n;j++){
			if(m[i][j]!=k[i][j])return false;    		
		}
	}
    return true;
}
bool E(){
	int t;
	for(int i=1;i<=n;i++){
        for(int j=1;j<=n;j++){
    	    m[i][n-j+1]=c1[i][j];        	
		}
    }
    for(int i=1;i<=n;i++){
        for(int j=1;j<=n;j++)
        m[j][n-i+1]=c1[i][j];
    }
    t=0;
    for(int i=1;i<=n;i++){
    	for(int j=1;j<=n;j++){
			if(m[i][j]!=k[i][j])t++;    		
		}
	}
    if(t==n*n)return true;
    t=0;
    for(int i=1;i<=n;i++){
    	for(int j=1;j<=n;j++){
			if(m[i][j]!=k[i][j])t++;    		
		}
	}
    if(t==n*n)return true;
    t=0;
    for(int i=1;i<=n;i++){
    	for(int j=1;j<=n;j++){
			if(m[i][j]!=k[i][j])t++;    		
		}
	}
    if(t==n*n)return true;
    return false; 
}
bool F(){
    for(int i=1;i<=n;i++){
    	for(int j=1;j<=n;j++){
			if(c1[i][j]!=c2[i][j])return false;    		
		}
	}
    return true;
}
int main(){
	cin>>n;
	for(int i=1;i<=n;i++){
		for(int j=1;j<=n;j++){
			cin>>c1[i][j];
			k[i][j]=c1[i][j];
		}
	}
	for(int i=1;i<=n;i++){
		for(int j=1;j<=n;j++){
			cin>>c2[i][j];
		}
	}
	if(A())cout<<1;
	else if(B())cout<<2;
	else if(C())cout<<3;
	else if(D())cout<<4;
	else if(E())cout<<5;
	else if(F())cout<<6;
	else cout<<7;
	return 0;
}

谢谢

2025/1/24 19:06
加载中...