ACM模板——拓扑排序

妖精的绣舞 提交于 2019-11-30 06:19:15

暂时

 1 bool topo()
 2         {
 3             int count = 0 ;
 4             while (!q.empty())
 5                 q.pop();
 6             for (int i = 1; i <= n; i++)
 7                 if (!in[i])
 8                     q.push(i);
 9             while (!q.empty())
10             {
11                 int begin = q.front() ;
12                 q.pop();
13                 count ++ ;
14                 for (int i = 0; i < course[begin].size(); i ++)
15                     if (--in[course[begin][i]]==0)
16                         q.push(course[begin][i]) ;
17             }
18             if(count == n)
19                 return true;
20             else
21                 return false;
22         }

 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!