如何从 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::pair
的 std::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));
}
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::pair
的 std::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));
}