题解
2025-03-30 23:04:07
发布于:北京
24阅读
0回复
0点赞
首先枚举正方形左上角的坐标 ,求出右下角坐标 ,判断错误的像素点是否在这里面即可。
要注意,右下角坐标不能超出大正方形。
时间复杂度:
Code:
#include<bits/stdc++.h>
using namespace std;
#define ll long long
ll n,m,x,y,ans;
char a[105][105],b[105][105];
int main(){
cin>>n>>m;
for(ll i=1;i<=n;i++) cin>>a[i]+1;
for(ll i=1;i<=n;i++) cin>>b[i]+1;
for(ll i=1;i<=n;i++){
for(ll j=1;j<=n;j++){
if(a[i][j]^b[i][j]){
x=i,y=j;
break;
}
}
if(x) break;
}
for(ll i=1;i<=x;i++){
for(ll j=1;j<=y;j++){
if(i+m-1>n||j+m-1>n) continue;
ans+=i+m-1>=x&&j+m-1>=y;
}
}
cout<<ans;
return 0;
}
这里空空如也
有帮助,赞一个