fork download
  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. int main(){
  4. int s,t,n,m,r,cont=0;
  5. cin>>s>>t>>n>>m>>r;
  6. int a[s][t];
  7. int b[n][m];
  8. int ssum=0;
  9. for(int i=0;i<s;i++){
  10. for(int j=0;j<t;j++){
  11. cin>>a[i][j];
  12. ssum+=a[i][j];
  13. }
  14. }
  15. for(int i=0;i<n;i++){
  16. for(int j=0;j<m;j++){
  17. cin>>b[i][j];
  18. }
  19. }
  20. int f=0;//f=差異有多少
  21. int ans=INT_MAX;
  22. int anst;
  23. for(int nowx=0;nowx+s<=n;nowx++){
  24. for(int nowy=0;nowy+t<=m;nowy++){
  25. f=0;
  26. anst=0;
  27. for(int i=nowx;i<=s+nowx-1;i++){
  28. for(int j=nowy;j<=t+nowy-1;j++){
  29. anst+=b[i][j];
  30. if(b[i][j]!=a[i-nowx][j-nowy]){
  31. f++;
  32. }
  33. }
  34. }
  35. //cout<<f<<" ";
  36. if(f<=r){
  37. cont++;
  38. ans=min(abs(anst-ssum),ans);
  39. }
  40. }
  41. }
  42. if(cont!=0)cout<<cont<<"\n"<<ans;
  43. else cout<<"0\n"<<"-1";
  44. }
Success #stdin #stdout 0.01s 5548KB
stdin
3 3 5 5 2
1 2 1
2 4 2
2 4 5
1 2 1 2 3
2 4 2 4 2
2 4 2 3 5
3 2 4 2 0
3 2 4 5 5
stdout
3
1