map> mapa;
Впрочем не совсем понял для чего вам нужен set и что вообще требуется от кода. int n;
cin >> n;
map a;
for (int i = 0; i < n; ++i) {
string s;
cin >> s;
a[s] = i;
}
set> b;
for (auto &v : a) { b.insert(make_pair(-v.second, v.first)); }
for (auto &v : b) { cout << v.second << '\n'; }
struct
{
bool operator() (const map::value_type& a, const map::value_type& b) const
{
return a.second > b.second;
}
}
comp;
Попробуй так.