Advertisement
Galebickosikasa

Untitled

May 12th, 2020
67
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.34 KB | None | 0 0
  1. // #pragma GCC optimize("Ofast,no-stack-protector,unroll-loops,fast-math")
  2. // #pragma GCC target("sse,sse2,sse3,ssse3,sse4,sse4.1,sse4.2,popcnt,abm,mmx,avx")
  3. // #pragma comment(linker, "/stack:200000000"]
  4.  
  5. #include <iostream>
  6. #include <vector>
  7. #include <cmath>
  8. #include <algorithm>
  9. #include <unordered_set>
  10. #include <unordered_map>
  11. #include <set>
  12. #include <map>
  13. #include <queue>
  14. #include <deque>
  15. #include <bitset>
  16. #include <stack>
  17. #include <random>
  18. #include <fstream>
  19. #include <sstream>
  20. #include <chrono>
  21.  
  22. #define fi first
  23. #define se second
  24. #define pb push_back
  25. #define ll long long
  26. #define ld long double
  27. #define hm unordered_map
  28. #define pii pair<int, int>
  29. #define sz(a) (int)a.size()
  30. #define all(a) a.begin(), a.end()
  31. #define cinv(v) for (auto& x: v) cin >> x
  32. #define fr(i, n) for (int i = 0; i < n; ++i)
  33. #define fl(i, l, n) for (int i = l; i < n; ++i)
  34.  
  35. #define int ll
  36.  
  37. using namespace std;
  38.  
  39. #ifdef __LOCAL
  40. #define dbg(x) cerr << #x << " : " << x << '\n'
  41. const int maxn = 20;
  42. #else
  43. #define dbg(x)
  44. const int maxn = 2e5 + 20;
  45. #endif
  46.  
  47. //tg: @galebickosikasa
  48.  
  49. const ll inf = (ll) 2e9;
  50. const ld pi = asin (1) * 2;
  51. const ld eps = 1e-8;
  52. const ll mod = (ll)1e9 + 7;
  53. const ll ns = 97;
  54.  
  55. mt19937 rnd(chrono::steady_clock::now().time_since_epoch().count());
  56.  
  57.  
  58.  
  59. signed main () {
  60. ios_base::sync_with_stdio(false);
  61. cin.tie(nullptr);
  62. cout.tie(nullptr);
  63. int m, l, n;
  64. cin >> m >> l >> n;
  65. vector<vector<char>> moo (m, vector<char> (n));
  66. for (auto& v: moo) cinv (v);
  67. vector<string> goo (n);
  68. fr (i, n) {
  69. fr (j, m) {
  70. goo[i] += moo[j][i];
  71. }
  72. }
  73. // for (auto& x: goo) dbg (x);
  74. hm <string, int> cnt, lst;
  75. fr (j, n) {
  76. auto& s = goo[j];
  77. string t;
  78. hm <string, int> local;
  79. fr (i, sz (s)) {
  80. if (i % l == 0) {
  81. ++local[t];
  82. lst[t] = j;
  83. t = "";
  84. }
  85. t += s[i];
  86. }
  87. ++local[t];
  88. lst[t] = j;
  89. for (auto& x: local) ++cnt[x.fi];
  90. }
  91. // for (auto& x: cnt) {
  92. // dbg (x.fi);
  93. // dbg (x.se);
  94. // }
  95. int mn = inf;
  96. for (auto& x: cnt) {
  97. if (x.se == 1) {
  98. cout << lst[x.fi] + 1;
  99. exit (0);
  100. }
  101. }
  102. cout << 0;
  103.  
  104.  
  105.  
  106.  
  107.  
  108.  
  109.  
  110. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement