如何从 std::map 中的 std::pair 的 std::vector 获取输入?

How to take input from std::vector of std::pair in a std::map?

int n,a,b,c;
cin >> n;
map<int,vector<pair<int,int>>> mv;
for(int i=0;i<n;++i)
{
    cin>>a>>b>>c;
    mv[a].insert(make_pair(b,c));
}

我正在尝试从 std::pairstd::vector 获取输入 std::map。这可能吗?

还有,我如何遍历地图?

mv[a].insert(...) 不是正确的函数调用。您需要使用 mv[a].push_back(...)。请记住 mv[a] return 对映射中与键 a.

相对应的值的引用

如果你把那条线一分为二,它会更有意义。

int n,a,b,c;
cin >> n;
map<int,vector<pair<int,int>>> mv;
for(int i=0;i<n;++i)
{
    cin>>a>>b>>c;
    vector<pair<int,int>>& v = mv[a];
    v.push_back(make_pair(b,c));
}