1122. Hamiltonian Cycle (25)

来源:互联网 发布:宁波软件产业园c座 编辑:程序博客网 时间:2024/04/30 20:15

1122. Hamiltonian Cycle (25)

#include <stdio.h>struct arc{    int adj[200+1];    int size;}v[200+1];int main(){    int n,m;    scanf("%d %d",&n,&m);    for(int i=0;i<m;++i)    {        int a,b;        scanf("%d %d",&a,&b);        v[a].adj[v[a].size++]=b;        v[b].adj[v[b].size++]=a;    }    int k;    scanf("%d",&k);    for(int i=0;i<k;++i)    {        int m,lv,cv,visited[200+1]={0},c,j,first,last;        scanf("%d %d",&m,&first);        lv=first;        for(j=1;j<m;++j)        {            scanf("%d",&cv);            if(j==m-1)last=cv;            for(c=0;c<v[lv].size;++c)            {                if(cv==v[lv].adj[c]&&!visited[cv])                {                    visited[cv]=1;                    lv=cv;break;                }            }            if(c==v[lv].size)break;        }        if(j<m)        {            char s[500];            gets(s);        }        if(m!=n+1||j<m||first!=last)printf("NO\n");        else printf("YES\n");    }    return 0;}
0 0
原创粉丝点击