1126 Eulerian Path(25 分)

#include
#include
#include
#include
#include

using namespace std;

int M, N, a, b;
vector>vm;
vectorv;
vectorvisit;
sets;

void DFS(int num)
{
    if (visit[num] == true)     
        { return; }
    visit[num] = true;
    for (int j = 0; j < vm[num].size(); j++)
    {
        if (visit[vm[num][j]] == false)
        {
            s.insert(vm[num][j]);
            DFS(vm[num][j]);
        }
    }
}

int main()
{
    bool flag = false;
    cin >> M>>N;
    vm.resize(M);
    v.resize(M);
    visit.resize(M);

    for (int i = 0; i < N; i++)
    {
        cin >> a >> b;
        a--;
        b--;
        v[a]++;
        v[b]++;

        vm[a].push_back(b);
        vm[b].push_back(a);
    }


    DFS(0);
    s.insert(0);
    
    int cnt = 0;
    cout << v[0];
    if (v[0] % 2 == 0) cnt++;

    for (int i = 1; i

你可能感兴趣的:(1126 Eulerian Path(25 分))