Pyl0j

雪花统治的世界,那是分形几何啊

   :: 首页  :: 新随笔  ::  :: 订阅 订阅  :: 管理

  接上篇。这次是bfs。不过使用的时候要注意别被环坑了!上代码。模板仅供参考。

 1 #include <cstdio>
 2 #include <vector>
 3 using namespace std;
 4 
 5 const int MAXN=100;
 6 int m,n;
 7 struct node {
 8     int to;
 9     int w;
10 };
11 vector <node> map[MAXN];
12 bool s[MAXN]={false};
13 int que[MAXN];
14 
15 void bfs(int x) {
16     int head=0,tail=0,cur;
17     que[tail++]=x;
18     s[x]=true;
19     while (head<tail && tail<n) {
20         cur=que[head];
21         vector <node>::iterator it;
22         for (it=map[cur].begin();it!=map[cur].end();it++) {
23             node tmp= *it;
24             if (!s[tmp.to]) {
25                 s[tmp.to]=true;
26                 que[tail++]=tmp.to;
27             }
28             if (tail>=n) break;
29         }
30         head++;
31     }
32 }
33 
34 int main() {
35     scanf("%d%d",&m,&n);
36     int k,i,j,w;
37     for (k=1;k<=m;k++) {
38         scanf("%d%d%d",&i,&j,&w);
39         node e;
40         e.to=j;
41         e.w=w;
42         map[i].push_back(e);
43     }
44     bfs(1);
45     for (i=0;i<n&&que[i]!=0;i++) printf("%d\n",que[i]);
46     return 0;
47 }

 

posted on 2017-10-07 19:55  Pyloj  阅读(186)  评论(0编辑  收藏  举报