fork download
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3.  
  4. #define ff(i, a, b) for(auto i=(a); i<=(b); ++i)
  5. #define ffr(i, b, a) for(auto i=(b); i>=(a); --i)
  6. #define nl "\n"
  7. #define ss " "
  8. #define pb push_back
  9. #define ppb pop_back()
  10. #define pf push_front
  11. #define ppf pop_front()
  12. #define fi first
  13. #define se second
  14. #define sz(s) (int)s.size()
  15. #define ms(a,x) memset(a, x, sizeof (a))
  16. #define re exit(0)
  17.  
  18. typedef long long ll;
  19. typedef unsigned long long ull;
  20. typedef long double ld;
  21. typedef vector<int> vi;
  22. typedef vector<ll> vll;
  23. typedef pair<int, int> pii;
  24. typedef pair<ll, ll> pll;
  25. typedef vector<pair<int, int> > vpii;
  26. typedef vector<pair<ll, ll> > vpll;
  27.  
  28. const ll mod=1e9+7, maxn=1e6+5, inf=1e17;
  29.  
  30. void rf(){
  31. ios_base::sync_with_stdio(0);
  32. cin.tie(0); cout.tie(0);
  33. if(fopen("o.inp","r")){
  34. freopen("o.inp","r",stdin); freopen("o.out","w",stdout);
  35. }
  36. }
  37.  
  38.  
  39. int n, m, k, x, a[900][900];
  40.  
  41. int main()
  42. {
  43. rf();
  44. cin>>n>>m>>k>>x;
  45. ff(i, 1, n) ff(j, 1, m) cin>>a[i][j];
  46. int ans=0;
  47. ff(i, k, n)
  48. {
  49. ff(j, k, m)
  50. {
  51. unordered_set<int> c;
  52. int x=i-k+1, y=j-k+1;
  53. ff(u, x,i) ff(v, y, j) c.insert(a[u][v]);
  54. if(sz(c)<=x) ++ans;
  55. cout<<sz(c)<<ss;
  56. }
  57. cout<<nl;
  58. }
  59. cout<<ans;
  60. re;
  61. }
  62.  
Success #stdin #stdout 0s 5284KB
stdin
4 4 2 2
1 1 2 3
5 5 1 1
2 2 2 2
4 2 1 1
stdout
2 3 3 
2 3 2 
2 2 2 
5