以二維數組表示圖像,其值只有0、1兩種,尋找兩幅圖像中最大的相同方陣php
以二維數組表示圖像,其值只有0、1兩種,尋找兩幅圖像中最大的相同方陣php
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; }