BUPT複試專題—圖像壓縮存儲(2015)

題目描述

以二維數組表示圖像,其值只有0、1兩種,尋找兩幅圖像中最大的相同方陣php

 

輸入

第一行輸入一個n,接下來的2n行輸入兩個n*n數組,尋找一個最大的m*m子區域,使得兩個數組在該子區域徹底相同

輸出

輸出m

樣例輸入

4 1 1 1 1 1 1 1 0 1 1 1 0 1 1 1 1 0 1 1 1 0 1 1 1 0 1 1 1 0 1 1 0

樣例輸出

2

來源

2015機考C題 ios

#include<iostream> #include<cstdio> #include<cmath> #include<string>
using namespace std; int a[100][100]; int donser(int num,int sum,int real) { if(sum<1) return 0; for(int i=1;i<=num-sum+1;i++) { for(int j=1;j<=num-sum+1;j++) { if(a[i][j]==0) { real=1; for(int m=i;m<=i+sum;m++) { for(int n=j;n<=i+sum;n++) { if(a[m][n]!=0||m>num+1||n>num+1) { real=0; } } } } if(real==1) return sum; } } sum--; donser(num,sum,0); } int main() { int num=0,sum=0; while(scanf("%d",&num)!=EOF) { for(int i=1;i<=num;i++) for(int j=1;j<=num;j++) scanf("%d",&a[i][j]); for(int i=1;i<=num;i++) { for(int j=1;j<=num;j++) { int temp; scanf("%d",&temp); a[i][j]=abs(a[i][j]-temp); if(a[i][j]==0) sum++; } } sum=sqrt(sum); cout<<donser(num,sum,0)<<endl; } return 0; }
相關文章
相關標籤/搜索