Submission #254722

#TimeUsernameProblemLanguageResultExecution timeMemory
254722MrRobot_28Lampice (COCI19_lampice)C++17
Compilation error
0 ms0 KiB
#include <bits/stdc++.h> using namespace std; #define int long long int n; string s; vector <vector <int> > g; vector <int> _sz, h; vector <bool> used; bool flag; int len; vector <int> hash1, hash2; unordered_map <pair <int, int>, int> mp, mp1; vector <int> power; const int const1 = 1e9 + 7; void dfs1(int v, int p = -1) { _sz[v] = 1; for(int i = 0; i < g[v].size(); i++) { int to = g[v][i]; if(to != p && !used[to]) { h[to] = h[v] + 1; dfs1(to, v); _sz[v] += _sz[to]; } } } void build(int v, int p = -1) { for(int i = 0; i < g[v].size(); i++) { int to = g[v][i]; if(to != p && !used[to]) { h[to] = h[v] + 1; build(to, v); } } } int centroid(int v, int szall, int p = -1) { for(int i = 0; i < g[v].size(); i++) { int to = g[v][i]; if(to == p || used[to]) { continue; } if(_sz[to] * 2 > szall) { return centroid(to, szall, v); } } return v; } vector <pair <int, int> > mass0, mass1; vector <int> vec; void dfs2(int v, int p) { int ourhash = hash1[v]; bool fl = false; if(vec.size() >= len / 2) { ourhash -= hash1[vec[vec.size() - len / 2]] * power[len / 2] % const1; if(hash1[vec[vec.size() - len / 2]] == hash2[vec[vec.size() - len / 2]]) { fl = true; } if(ourhash < 0) { ourhash += const1; } } else { fl = true; } mass0.push_back({ourhash, len - h[v]}); if(fl && mp[{ourhash, len - h[v]}]) { flag = true; } vec.push_back(v); for(int i = 0; i < g[v].size(); i++) { int to = g[v][i]; if(!used[to] && to != p) { hash1[to] = hash1[v] * 27 % const1 + s[to] - 'a' + 1; if(hash1[to] >= const1) { hash1[to] -= const1; } hash2[to] = hash2[v] + power[h[v]] * (s[to] - 'a' + 1) % const1; if(hash2[to] >= const1) { hash2[to] -= const1; } dfs2(to, v); } } vec.pop_back(); } vector <pair <int, int> > mass; void dfs3(int v, int p) { int ourhash = hash1[v]; bool fl = false; if(vec.size() >= len / 2) { ourhash -= hash1[vec[vec.size() - len / 2]] * power[len / 2] % const1; if(ourhash < 0) { ourhash += const1; } if(hash1[vec[vec.size() - len / 2]] == hash2[vec[vec.size() - len / 2]]) { fl = true; } } else { fl = true; } if(fl && mp1[{ourhash, len - (h[v] + 1)}]) { flag = true; } if(fl) { mass.push_back({ourhash, h[v] + 1}); mp[{ourhash, h[v] + 1}] = 1; } vec.push_back(v); for(int i = 0; i < g[v].size(); i++) { int to = g[v][i]; if(to != p && !used[to]) { hash1[to] = hash1[v] * 27 % const1 + s[to] - 'a' + 1; if(hash1[to] >= const1) { hash1[to] -= const1; } hash2[to] = hash2[v] + power[h[to]] * (s[to] - 'a' + 1) % const1; if(hash2[to] >= const1) { hash2[to] -= const1; } dfs3(to, v); } } vec.pop_back(); } void go_to(int v) { dfs1(v); v = centroid(v, _sz[v]); h[v] = 0; build(v); used[v] = 1; hash1[v] = hash2[v] = s[v] - 'a' + 1; mp[{s[v] - 'a' + 1, 1}] = 1; mass.push_back({s[v] -'a' + 1, 1}); for(int i = 0; i <g[v].size(); i++) { int to = g[v][i]; if(!used[to]) { hash1[to] = hash2[to] = s[to] - 'a' + 1; dfs2(to, v); vec.clear(); vec.push_back(v); hash1[to] = (s[v] - 'a' + 1) * 27 + (s[to] - 'a' + 1); hash2[to] = (s[v] - 'a' + 1) + 27 * (s[to] - 'a' + 1); dfs3(to, v); vec.clear(); while(mass0.size() > 0) { mp1[mass0.back()] = 1; mass1.push_back(mass0.back()); mass0.pop_back(); } } } while(mass1.size() > 0) { mp1[mass1.back()] = 0; mass1.pop_back(); } while(mass.size() > 0) { pair <int, int> v = mass.back(); mp[v] = 0; mass.pop_back(); } for(int i = 0; i < g[v].size(); i++) { int to = g[v][i]; if(!used[to]) { go_to(to); } } } signed main(){ // ios_base::sync_with_stdio(false); // cin.tie(NULL); // cout.tie(NULL); cin >> n; used.resize(n); _sz.resize(n); cin >> s; power.resize(n + 1); power[0] = 1; for(int i = 1; i <= n; i++) { power[i] = power[i - 1] * 27 % const1; } h.resize(n); hash1.resize(n); hash2.resize(n); g.resize(n); for(int i = 0; i < n - 1; i++) { int a, b; cin >> a >> b; a--; b--; g[a].push_back(b); g[b].push_back(a); } int l = 0, r = n / 2 + 1; while(r - l > 1) { int midd = (r + l) / 2; len = midd * 2; for(int i = 0; i < n; i++) { used[i] = 0; } flag = false; go_to(0); if(flag) { l = midd; } else { r = midd; } } int l1 = 0, r1 = n / 2 + 1; while(r1 - l1 > 1) { int midd = (r1 + l1) / 2; len = midd * 2 + 1; for(int i = 0; i < n; i++) { used[i] = 0; } flag = false; go_to(0); if(flag) { l1 = midd; } else { r1 = midd; } } cout << max(l * 2, l1 * 2 + 1); return 0; }

Compilation message (stderr)

In file included from /usr/include/c++/7/bits/hashtable.h:35:0,
                 from /usr/include/c++/7/unordered_map:47,
                 from /usr/include/c++/7/functional:60,
                 from /usr/include/x86_64-linux-gnu/c++/7/bits/stdc++.h:71,
                 from lampice.cpp:1:
/usr/include/c++/7/bits/hashtable_policy.h: In instantiation of 'struct std::__detail::__is_noexcept_hash<std::pair<long long int, long long int>, std::hash<std::pair<long long int, long long int> > >':
/usr/include/c++/7/type_traits:143:12:   required from 'struct std::__and_<std::__is_fast_hash<std::hash<std::pair<long long int, long long int> > >, std::__detail::__is_noexcept_hash<std::pair<long long int, long long int>, std::hash<std::pair<long long int, long long int> > > >'
/usr/include/c++/7/type_traits:154:31:   required from 'struct std::__not_<std::__and_<std::__is_fast_hash<std::hash<std::pair<long long int, long long int> > >, std::__detail::__is_noexcept_hash<std::pair<long long int, long long int>, std::hash<std::pair<long long int, long long int> > > > >'
/usr/include/c++/7/bits/unordered_map.h:103:66:   required from 'class std::unordered_map<std::pair<long long int, long long int>, long long int>'
lampice.cpp:12:38:   required from here
/usr/include/c++/7/bits/hashtable_policy.h:87:34: error: no match for call to '(const std::hash<std::pair<long long int, long long int> >) (const std::pair<long long int, long long int>&)'
  noexcept(declval<const _Hash&>()(declval<const _Key&>()))>
           ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/7/bits/move.h:54:0,
                 from /usr/include/c++/7/bits/stl_pair.h:59,
                 from /usr/include/c++/7/bits/stl_algobase.h:64,
                 from /usr/include/c++/7/bits/specfun.h:45,
                 from /usr/include/c++/7/cmath:1914,
                 from /usr/include/x86_64-linux-gnu/c++/7/bits/stdc++.h:41,
                 from lampice.cpp:1:
/usr/include/c++/7/type_traits: In instantiation of 'struct std::__not_<std::__and_<std::__is_fast_hash<std::hash<std::pair<long long int, long long int> > >, std::__detail::__is_noexcept_hash<std::pair<long long int, long long int>, std::hash<std::pair<long long int, long long int> > > > >':
/usr/include/c++/7/bits/unordered_map.h:103:66:   required from 'class std::unordered_map<std::pair<long long int, long long int>, long long int>'
lampice.cpp:12:38:   required from here
/usr/include/c++/7/type_traits:154:31: error: 'value' is not a member of 'std::__and_<std::__is_fast_hash<std::hash<std::pair<long long int, long long int> > >, std::__detail::__is_noexcept_hash<std::pair<long long int, long long int>, std::hash<std::pair<long long int, long long int> > > >'
     : public __bool_constant<!bool(_Pp::value)>
                               ^~~~~~~~~~~~~~~~
In file included from /usr/include/c++/7/unordered_map:48:0,
                 from /usr/include/c++/7/functional:60,
                 from /usr/include/x86_64-linux-gnu/c++/7/bits/stdc++.h:71,
                 from lampice.cpp:1:
/usr/include/c++/7/bits/unordered_map.h: In instantiation of 'class std::unordered_map<std::pair<long long int, long long int>, long long int>':
lampice.cpp:12:38:   required from here
/usr/include/c++/7/bits/unordered_map.h:103:66: error: 'value' is not a member of 'std::__not_<std::__and_<std::__is_fast_hash<std::hash<std::pair<long long int, long long int> > >, std::__detail::__is_noexcept_hash<std::pair<long long int, long long int>, std::hash<std::pair<long long int, long long int> > > > >'
       typedef __umap_hashtable<_Key, _Tp, _Hash, _Pred, _Alloc>  _Hashtable;
                                                                  ^~~~~~~~~~
/usr/include/c++/7/bits/unordered_map.h:110:45: error: 'value' is not a member of 'std::__not_<std::__and_<std::__is_fast_hash<std::hash<std::pair<long long int, long long int> > >, std::__detail::__is_noexcept_hash<std::pair<long long int, long long int>, std::hash<std::pair<long long int, long long int> > > > >'
       typedef typename _Hashtable::key_type key_type;
                                             ^~~~~~~~
/usr/include/c++/7/bits/unordered_map.h:111:47: error: 'value' is not a member of 'std::__not_<std::__and_<std::__is_fast_hash<std::hash<std::pair<long long int, long long int> > >, std::__detail::__is_noexcept_hash<std::pair<long long int, long long int>, std::hash<std::pair<long long int, long long int> > > > >'
       typedef typename _Hashtable::value_type value_type;
                                               ^~~~~~~~~~
/usr/include/c++/7/bits/unordered_map.h:112:48: error: 'value' is not a member of 'std::__not_<std::__and_<std::__is_fast_hash<std::hash<std::pair<long long int, long long int> > >, std::__detail::__is_noexcept_hash<std::pair<long long int, long long int>, std::hash<std::pair<long long int, long long int> > > > >'
       typedef typename _Hashtable::mapped_type mapped_type;
                                                ^~~~~~~~~~~
/usr/include/c++/7/bits/unordered_map.h:113:43: error: 'value' is not a member of 'std::__not_<std::__and_<std::__is_fast_hash<std::hash<std::pair<long long int, long long int> > >, std::__detail::__is_noexcept_hash<std::pair<long long int, long long int>, std::hash<std::pair<long long int, long long int> > > > >'
       typedef typename _Hashtable::hasher hasher;
                                           ^~~~~~
/usr/include/c++/7/bits/unordered_map.h:114:46: error: 'value' is not a member of 'std::__not_<std::__and_<std::__is_fast_hash<std::hash<std::pair<long long int, long long int> > >, std::__detail::__is_noexcept_hash<std::pair<long long int, long long int>, std::hash<std::pair<long long int, long long int> > > > >'
       typedef typename _Hashtable::key_equal key_equal;
                                              ^~~~~~~~~
/usr/include/c++/7/bits/unordered_map.h:115:51: error: 'value' is not a member of 'std::__not_<std::__and_<std::__is_fast_hash<std::hash<std::pair<long long int, long long int> > >, std::__detail::__is_noexcept_hash<std::pair<long long int, long long int>, std::hash<std::pair<long long int, long long int> > > > >'
       typedef typename _Hashtable::allocator_type allocator_type;
                                                   ^~~~~~~~~~~~~~
/usr/include/c++/7/bits/unordered_map.h:120:45: error: 'value' is not a member of 'std::__not_<std::__and_<std::__is_fast_hash<std::hash<std::pair<long long int, long long int> > >, std::__detail::__is_noexcept_hash<std::pair<long long int, long long int>, std::hash<std::pair<long long int, long long int> > > > >'
       typedef typename _Hashtable::pointer  pointer;
                                             ^~~~~~~
/usr/include/c++/7/bits/unordered_map.h:121:50: error: 'value' is not a member of 'std::__not_<std::__and_<std::__is_fast_hash<std::hash<std::pair<long long int, long long int> > >, std::__detail::__is_noexcept_hash<std::pair<long long int, long long int>, std::hash<std::pair<long long int, long long int> > > > >'
       typedef typename _Hashtable::const_pointer const_pointer;
                                                  ^~~~~~~~~~~~~
/usr/include/c++/7/bits/unordered_map.h:122:47: error: 'value' is not a member of 'std::__not_<std::__and_<std::__is_fast_hash<std::hash<std::pair<long long int, long long int> > >, std::__detail::__is_noexcept_hash<std::pair<long long int, long long int>, std::hash<std::pair<long long int, long long int> > > > >'
       typedef typename _Hashtable::reference  reference;
                                               ^~~~~~~~~
/usr/include/c++/7/bits/unordered_map.h:123:52: error: 'value' is not a member of 'std::__not_<std::__and_<std::__is_fast_hash<std::hash<std::pair<long long int, long long int> > >, std::__detail::__is_noexcept_hash<std::pair<long long int, long long int>, std::hash<std::pair<long long int, long long int> > > > >'
       typedef typename _Hashtable::const_reference const_reference;
                                                    ^~~~~~~~~~~~~~~
/usr/include/c++/7/bits/unordered_map.h:124:46: error: 'value' is not a member of 'std::__not_<std::__and_<std::__is_fast_hash<std::hash<std::pair<long long int, long long int> > >, std::__detail::__is_noexcept_hash<std::pair<long long int, long long int>, std::hash<std::pair<long long int, long long int> > > > >'
       typedef typename _Hashtable::iterator  iterator;
                                              ^~~~~~~~
/usr/include/c++/7/bits/unordered_map.h:125:51: error: 'value' is not a member of 'std::__not_<std::__and_<std::__is_fast_hash<std::hash<std::pair<long long int, long long int> > >, std::__detail::__is_noexcept_hash<std::pair<long long int, long long int>, std::hash<std::pair<long long int, long long int> > > > >'
       typedef typename _Hashtable::const_iterator const_iterator;
                                                   ^~~~~~~~~~~~~~
/usr/include/c++/7/bits/unordered_map.h:126:51: error: 'value' is not a member of 'std::__not_<std::__and_<std::__is_fast_hash<std::hash<std::pair<long long int, long long int> > >, std::__detail::__is_noexcept_hash<std::pair<long long int, long long int>, std::hash<std::pair<long long int, long long int> > > > >'
       typedef typename _Hashtable::local_iterator local_iterator;
                                                   ^~~~~~~~~~~~~~
/usr/include/c++/7/bits/unordered_map.h:127:57: error: 'value' is not a member of 'std::__not_<std::__and_<std::__is_fast_hash<std::hash<std::pair<long long int, long long int> > >, std::__detail::__is_noexcept_hash<std::pair<long long int, long long int>, std::hash<std::pair<long long int, long long int> > > > >'
       typedef typename _Hashtable::const_local_iterator const_local_iterator;
                                                         ^~~~~~~~~~~~~~~~~~~~
/usr/include/c++/7/bits/unordered_map.h:128:47: error: 'value' is not a member of 'std::__not_<std::__and_<std::__is_fast_hash<std::hash<std::pair<long long int, long long int> > >, std::__detail::__is_noexcept_hash<std::pair<long long int, long long int>, std::hash<std::pair<long long int, long long int> > > > >'
       typedef typename _Hashtable::size_type  size_type;
                                               ^~~~~~~~~
/usr/include/c++/7/bits/unordered_map.h:129:52: error: 'value' is not a member of 'std::__not_<std::__and_<std::__is_fast_hash<std::hash<std::pair<long long int, long long int> > >, std::__detail::__is_noexcept_hash<std::pair<long long int, long long int>, std::hash<std::pair<long long int, long long int> > > > >'
       typedef typename _Hashtable::difference_type difference_type;
                                                    ^~~~~~~~~~~~~~~
/usr/include/c++/7/bits/unordered_map.h:133:55: error: 'value' is not a member of 'std::__not_<std::__and_<std::__is_fast_hash<std::hash<std::pair<long long int, long long int> > >, std::__detail::__is_noexcept_hash<std::pair<long long int, long long int>, std::hash<std::pair<long long int, long long int> > > > >'
       using node_type = typename _Hashtable::node_type;
                                                       ^
/usr/include/c++/7/bits/unordered_map.h:134:73: error: 'value' is not a member of 'std::__not_<std::__and_<std::__is_fast_hash<std::hash<std::pair<long long int, long long int> > >, std::__detail::__is_noexcept_hash<std::pair<long long int, long long int>, std::hash<std::pair<long long int, long long int> > > > >'
       using insert_return_type = typename _Hashtable::insert_return_type;
                                                                         ^
/usr/include/c++/7/bits/unordered_map.h:288:7: error: 'value' is not a member of 'std::__not_<std::__and_<std::__is_fast_hash<std::hash<std::pair<long long int, long long int> > >, std::__detail::__is_noexcept_hash<std::pair<long long int, long long int>, std::hash<std::pair<long long int, long long int> > > > >'
       operator=(initializer_list<value_type> __l)
       ^~~~~~~~
/usr/include/c++/7/bits/unordered_map.h:386:2: error: 'value' is not a member of 'std::__not_<std::__and_<std::__is_fast_hash<std::hash<std::pair<long long int, long long int> > >, std::__detail::__is_noexcept_hash<std::pair<long long int, long long int>, std::hash<std::pair<long long int, long long int> > > > >'
  emplace(_Args&&... __args)
  ^~~~~~~
/usr/include/c++/7/bits/unordered_map.h:469:9: error: 'value' is not a member of 'std::__not_<std::__and_<std::__is_fast_hash<std::hash<std::pair<long long int, long long int> > >, std::__detail::__is_noexcept_hash<std::pair<long long int, long long int>, std::hash<std::pair<long long int, long long int> > > > >'
         try_emplace(const key_type& __k, _Args&&... __args)
         ^~~~~~~~~~~
/usr/include/c++/7/bits/unordered_map.h:487:9: error: 'value' is not a member of 'std::__not_<std::__and_<std::__is_fast_hash<std::hash<std::pair<long long int, long long int> > >, std::__detail::__is_noexcept_hash<std::pair<long long int, long long int>, std::hash<std::pair<long long int, long long int> > > > >'
         try_emplace(key_type&& __k, _Args&&... __args)
         ^~~~~~~~~~~
/usr/include/c++/7/bits/unordered_map.h:578:7: error: 'value' is not a member of 'std::__not_<std::__and_<std::__is_fast_hash<std::hash<std::pair<long long int, long long int> > >, std::__detail::__is_noexcept_hash<std::pair<long long int, long long int>, std::hash<std::pair<long long int, long long int> > > > >'
       insert(const value_type& __x)
       ^~~~~~
/usr/include/c++/7/bits/unordered_map.h:584:7: error: 'value' is not a member of 'std::__not_<std::__and_<std::__is_fast_hash<std::hash<std::pair<long long int, long long int> > >, std::__detail::__is_noexcept_hash<std::pair<long long int, long long int>, std::hash<std::pair<long long int, long long int> > > > >'
       insert(value_type&& __x)
       ^~~~~~
/usr/include/c++/7/bits/unordered_map.h:591:2: error: 'value' is not a member of 'std::__not_<std::__and_<std::__is_fast_hash<std::hash<std::pair<long long int, long long int> > >, std::__detail::__is_noexcept_hash<std::pair<long long int, long long int>, std::hash<std::pair<long long int, long long int> > > > >'
  insert(_Pair&& __x)
  ^~~~~~
/usr/include/c++/7/bits/unordered_map.h:657:7: error: 'value' is not a member of 'std::__not_<std::__and_<std::__is_fast_hash<std::hash<std::pair<long long int, long long int> > >, std::__detail::__is_noexcept_hash<std::pair<long long int, long long int>, std::hash<std::pair<long long int, long long int> > > > >'
       insert(initializer_list<value_type> __l)
       ^~~~~~
/usr/include/c++/7/bits/unordered_map.h:685:9: error: 'value' is not a member of 'std::__not_<std::__and_<std::__is_fast_hash<std::hash<std::pair<long long int, long long int> > >, std::__detail::__is_noexcept_hash<std::pair<long long int, long long int>, std::hash<std::pair<long long int, long long int> > > > >'
         insert_or_assign(const key_type& __k, _Obj&& __obj)
         ^~~~~~~~~~~~~~~~
/usr/include/c++/7/bits/unordered_map.h:703:9: error: 'value' is not a member of 'std::__not_<std::__and_<std::__is_fast_hash<std::hash<std::pair<long long int, long long int> > >, std::__detail::__is_noexcept_hash<std::pair<long long int, long long int>, std::hash<std::pair<long long int, long long int> > > > >'
         insert_or_assign(key_type&& __k, _Obj&& __obj)
         ^~~~~~~~~~~~~~~~
/usr/include/c++/7/bits/unordered_map.h:953:7: error: 'value' is not a member of 'std::__not_<std::__and_<std::__is_fast_hash<std::hash<std::pair<long long int, long long int> > >, std::__detail::__is_noexcept_hash<std::pair<long long int, long long int>, std::hash<std::pair<long long int, long long int> > > > >'
       equal_range(const key_type& __x)
       ^~~~~~~~~~~
/usr/include/c++/7/bits/unordered_map.h:957:7: error: 'value' is not a member of 'std::__not_<std::__and_<std::__is_fast_hash<std::hash<std::pair<long long int, long long int> > >, std::__detail::__is_noexcept_hash<std::pair<long long int, long long int>, std::hash<std::pair<long long int, long long int> > > > >'
       equal_range(const key_type& __x) const
       ^~~~~~~~~~~
lampice.cpp: In function 'void dfs1(long long int, long long int)':
lampice.cpp:18:19: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
  for(int i = 0; i < g[v].size(); i++)
                 ~~^~~~~~~~~~~~~
lampice.cpp: In function 'void build(long long int, long long int)':
lampice.cpp:31:19: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
  for(int i = 0; i < g[v].size(); i++)
                 ~~^~~~~~~~~~~~~
lampice.cpp: In function 'long long int centroid(long long int, long long int, long long int)':
lampice.cpp:43:19: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
  for(int i = 0; i < g[v].size(); i++)
                 ~~^~~~~~~~~~~~~
lampice.cpp: In function 'void dfs2(long long int, long long int)':
lampice.cpp:63:16: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
  if(vec.size() >= len / 2)
     ~~~~~~~~~~~^~~~~~~~~~
lampice.cpp:80:13: error: no match for 'operator[]' (operand types are 'std::unordered_map<std::pair<long long int, long long int>, long long int>' and '<brace-enclosed initializer list>')
  if(fl && mp[{ourhash, len - h[v]}])
             ^
lampice.cpp:85:19: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
  for(int i = 0; i < g[v].size(); i++)
                 ~~^~~~~~~~~~~~~
lampice.cpp: In function 'void dfs3(long long int, long long int)':
lampice.cpp:110:16: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
  if(vec.size() >= len / 2)
     ~~~~~~~~~~~^~~~~~~~~~
lampice.cpp:126:14: error: no match for 'operator[]' (operand types are 'std::unordered_map<std::pair<long long int, long long int>, long long int>' and '<brace-enclosed initializer list>')
  if(fl && mp1[{ourhash, len - (h[v] + 1)}])
              ^
lampice.cpp:133:5: error: no match for 'operator[]' (operand types are 'std::unordered_map<std::pair<long long int, long long int>, long long int>' and '<brace-enclosed initializer list>')
   mp[{ourhash, h[v] + 1}] = 1;
     ^
lampice.cpp:136:19: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
  for(int i = 0; i < g[v].size(); i++)
                 ~~^~~~~~~~~~~~~
lampice.cpp: In function 'void go_to(long long int)':
lampice.cpp:164:4: error: no match for 'operator[]' (operand types are 'std::unordered_map<std::pair<long long int, long long int>, long long int>' and '<brace-enclosed initializer list>')
  mp[{s[v] - 'a' + 1, 1}] = 1;
    ^
lampice.cpp:166:20: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
  for(int i = 0; i  <g[v].size(); i++)
                 ~~~^~~~~~~~~~~~
lampice.cpp:181:8: error: no match for 'operator[]' (operand types are 'std::unordered_map<std::pair<long long int, long long int>, long long int>' and '__gnu_cxx::__alloc_traits<std::allocator<std::pair<long long int, long long int> > >::value_type {aka std::pair<long long int, long long int>}')
     mp1[mass0.back()] = 1;
        ^
lampice.cpp:189:6