Advertisement
deushiro

Untitled

Mar 14th, 2020
213
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.26 KB | None | 0 0
  1. #include <cmath>
  2. #include <iostream>
  3. #include <vector>
  4. #include <algorithm>
  5. #include <string>
  6. #include <set>
  7. #include <map>
  8. #include <list>
  9. #include <time.h>
  10. #include <math.h>
  11. #include <random>
  12. #include <deque>
  13. #include <queue>
  14. #include <cassert>
  15. #include <unordered_map>
  16. #include <unordered_set>
  17. #include <iomanip>
  18. #include <bitset>
  19. #include <sstream>
  20. #include <chrono>
  21. #include <cstring>
  22. #include <string>
  23. #include <fstream>
  24. #include <list>
  25. #include <numeric>
  26.  
  27. using namespace std;
  28.  
  29. #define int long long
  30.  
  31. const int mod = 1e9 + 7;
  32.  
  33. signed main()
  34. {
  35.     int n, k;
  36.     cin >> n >> k;
  37.     vector<vector<int>> a(n, vector<int>(n));
  38.     for (int i = 0; i < n; ++i) {
  39.         for (int j = 0; j < n; ++j) {
  40.             cin >> a[i][j];
  41.         }
  42.     }
  43.     vector<int> p(100);
  44.     p[0] = 1;
  45.     for (int i = 1; i < 10; ++i) {
  46.         p[i] = p[i - 1] * 17;
  47.         p[i] %= mod;
  48.     }
  49.     map<int, int> m;
  50.     for (int i = 0; i < n - k + 1; ++i) {
  51.         for (int j = 0; j < n - k + 1; ++j) {
  52.             int ans = 0;
  53.             int pos = 0;
  54.             for (int u = 0; u < k; ++u) {
  55.                 for (int v = 0; v < k; ++v) {
  56.                     ans += a[i + u][j + v] * p[pos];
  57.                     ans %= mod;
  58.                     pos++;
  59.                 }
  60.             }
  61.             m[ans]++;
  62.         }
  63.     }
  64.     int res = 0;
  65.     for (pair<int, int> t : m) {
  66.         res += (t.second * (t.second - 1) / 2);
  67.     }
  68.     cout << res << endl;
  69. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement