文章

13

粉丝

0

获赞

94

访问

1.2k

头像
暴力方法 :多次遍历+剪枝
P1377 北京航空航天大学机试题
发布于2026年3月10日 20:37
阅读数 86

 

#include<bits/stdc++.h>
using namespace std;

int main(){
    int n;
    while(cin>> n){
    	if(n == 1){//单独判断1
    		int a,b;
    		cin >> a >> b;
    		if(a==b)cout << 0 <<endl;
    		else cout << -1 <<endl;
    		continue;
    	}
    	int arr1[n][n],arr2[n][n];//输入
    	for(int i=0;i<n;i++){
    		for(int j=0;j<n;j++){
    			cin >> arr1[i][j];
			}
		}
		for(int i=0;i<n;i++){
    		for(int j=0;j<n;j++){
    			cin >> arr2[i][j];
			}
		}
		
		for(int i=0;i<n;i++){//挨个遍历,用goto剪枝,后面思路都是类似的
    		for(int j=0;j<n;j++){
    			if(arr1[i][j]!=arr2[i][j])
					goto not_0; 
			}
		}
		cout << 0 << endl;
		continue;
		
not_0:	for(int i=0;i<n;i++){
    		for(int j=0;j<n;j++){
    			if(arr1[i][j]!=arr2[j][n-i-1])
					goto not_90; 
			}
		}
		cout << 90 << endl;
		continue;	
		
not_90:	for(int i=0;i<n;i++){
    		for(int j=...
登录查看完整内容


登录后发布评论

暂无评论,来抢沙发