求助tarjan
  • 板块学术版
  • 楼主pocafup
  • 当前回复16
  • 已保存回复16
  • 发布时间2020/4/30 08:43
  • 上次更新2023/11/7 03:36:37
查看原帖
求助tarjan
219099
pocafup楼主2020/4/30 08:43

我觉得是我脑子瓦特了,但是我就是看不出毛病。

如下是两个类似的程序,而且两种方法我都用过。

do{
      int stt = st.top();
      head[stt] = curr;
      tmp[curr].push_back(stt);
      st.pop();
      vis[stt] = false;
      //在这输出stt和pos测试过
}while(stt!=pos);

while(1){
      int stt = st.top();
      head[stt] = curr;
      tmp[curr].push_back(stt);
      st.pop();
      vis[stt] = false;
      if (stt==pos) break;
    }

然额,在做p2002的时候,第一种样例就re了,而第二种过了。

对于第一种,样例中做的第一次我就发现st==pos了,但是这循环就是不停下来。有dalao能解释下吗?

2020/4/30 08:43
加载中...