中易网

求解一道C++试题

答案:4  悬赏:80  
解决时间 2021-01-12 04:57
  • 提问者网友:雨不眠的下
  • 2021-01-11 21:58
求解一道C++试题
最佳答案
  • 二级知识专家网友:逃夭
  • 2021-01-11 23:29
这个用一个深度搜索或者广度搜索很容易搞定,把从起点开始的每一个岔路(可以直接去的临近元素)放到栈或者队列中,然后重复过程。
因为不是找最近路,只是问能不能走到,所以不难。
不过这个题目出的人倒是挺酸的。
全部回答
  • 1楼网友:煞尾
  • 2021-01-12 01:08
if(count = mm.count(1))
{
//1.如果要使用,还是得使用equal_range查找一次.
//multimap没有[]操作符重载,因为key不是唯一.
//输出 mm.count(1): 3
cout << "mm.count(1): " << count << endl;
}

//查看下count的实现,是使用equal_range来实现的.
//equal_range是获取所有等于key的value组成一个连续的iterator,
//其中pair第一个是匹配key的第一个iterator,第二个是大于key的第一个iterator.
//map
pair values = m.equal_range(1);
TMap::iterator b = values.first;
//输出 map equal_range: 8
while(b != values.second)
{
cout << "map equal_range: " << (*b).second << endl;
++b;
}
  • 2楼网友:西风乍起
  • 2021-01-12 00:12
相当于起点到终点求最短路径。将地图抽象为有向图,正常边权为0,进入“荆棘”的边权为1。
  • 3楼网友:走死在岁月里
  • 2021-01-11 23:35
我暂时保留我的看法!
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息!
大家都在看
推荐信息