내 소식

✨컴공주✨ [1052682] · MS 2021 · 쪽지

2023-01-15 00:36:00
조회수 2,109

컴공 일기223

게시글 주소: https://dev.orbi.kr/00061333779


bfs(breadth first searching) 알고리즘을 학습하고 있습니다. 어.. 직접 구현하는 것이 아무래도 도움이 많이 되겠지요.




#include <iostream>

#include <queue>

#include <vector>


using namespace std;

vector<int> v[1001];

bool visit[1001];



int main()

{

    ios_base::sync_with_stdio(false);

    cin.tie(NULL);

    cout.tie(NULL);


    int T;


    cin >> T;


    for (int t = 0; t < T; t++)

    {

        int nation, edge;


        cin >> nation >> edge;


        for (int i = 1; i <= nation; i++)

        {

            v[i].clear();

            visit[i] = false;

        }


        for (int i = 0; i < edge; i++)

        {

            int a, b;

            cin >> a >> b;

            v[a].push_back(b);

            v[b].push_back(a);


        }


        int cnt = 0;

        queue<int> q;

        q.push(1);

        visit[1] = true;


        while (!q.empty())

        {

            int idx = q.front();

            q.pop();


            for (int i = 0; i < v[idx].size(); i++)

            {

                int next = v[idx][i];

                if (!visit[next])

                {

                    visit[next] = true;

                    cnt++;

                    q.push(next);

                }

            }



        }


        cout << cnt << '\n';


    }


}

rare-백예린입니다

0 XDK (+0)

  1. 유익한 글을 읽었다면 작성자에게 XDK를 선물하세요.

✨컴공주✨ [1052682]

쪽지 보내기