美文网首页
1122 Hamiltonian Cycle(25 分)

1122 Hamiltonian Cycle(25 分)

作者: zjh3029 | 来源:发表于2018-09-02 14:36 被阅读0次
    #include<iostream>
    #include<vector>
    
    using namespace std;
    vector<vector<int>> vm;
    vector<bool> visit;
    int main()
    {
        int M,N,L,X,a,b,c,a_bef;
        cin >> M>>N;
        vm.resize(M);
        visit.resize(M);
        for (int i = 0; i < N; i++)
        {
            cin >> a >> b;
            a--;
            b--;
            
            vm[a].push_back(b);
            vm[b].push_back(a);
        }
    
    
        cin >> L;
        for (int i = 0; i < L; i++)
        {
            fill(visit.begin(), visit.end(), false);
            cin >> X;
            if (X!=M+1)
            {
                while (cin.get()!='\n')
                {
                    cin >> c;
                }
                cout << "NO" << endl;
                continue;
            }
            cin >> a;
            a--;
            a_bef = a;
            visit[a] = true;
            bool flag = false;
            for (int j = 1; j < X-1; j++)
            {
                cin >> b;
                b--;
                //没有找到连接线或者访问一个已经访问过的节点
                if((find(vm[a].begin(), vm[a].end(), b)==vm[a].end())||(visit[b]==true))
                {
                    while (cin.get()!='\n')//清除后面的数据
                    {
                        cin >> c;
                    }
                    flag = true;
                    break;
                }
                    visit[b] = true;
                    a = b;
            }
            
            if(flag==false)
            {
                cin >> c;
                c--;
                if (c == a_bef) {
                    cout << "YES" << endl;
                }
                else
                {
                    cout << "NO" << endl;
                }
            }
            else
            {
                cout << "NO" << endl;
            }
        }
        system("pause");
        return 0;
    }
    

    相关文章

      网友评论

          本文标题:1122 Hamiltonian Cycle(25 分)

          本文链接:https://www.haomeiwen.com/subject/jgwdwftx.html