eular earth.txt

来自「以前ACM在哈工程HRBEU做的一些简单题目」· 文本 代码 · 共 50 行

TXT
50
字号
#include <iostream.h>
int main()
{
    int total,n,m,i,j,d[101];
    bool p[101][101],color[101],flag;
    int x,y,f,r,q[10000];
    cin>>total;
    while(total--)
    {
         cin>>n>>m;
         flag=false;
         for(i=1;i<=n;i++)
         for(j=1;j<=n;j++)p[i][j]=0;
         for(j=1;j<=n;j++)d[j]=0;
         while(m--)
         {
            cin>>x>>y;
            p[x][y]=1;
            p[y][x]=1;
            d[x]++;
            d[y]++;
         }
         for(i=1;i<=n;i++)color[i]=1;
         f=0;
         r=-1;
         q[++r]=1;
         color[1]=0;
         while(f<=r)
         {
            x=q[f++];
            for(i=1;i<=n;i++)
            {
               if(p[x][i]!=0&&color[i]!=0)
               {
                  color[i]=0;
                  q[++r]=i;
               }
            }
         }
         for(i=1;i<=n;i++)
         if(color[i]==1){flag=true;break;}
         for(i=1;i<=n;i++)
         if(d[i]%2!=0){flag=true;break;}
         if(flag||n<1||m==0)cout<<"no"<<endl;
         else cout<<"yes"<<endl;
    }
    return 0;
}       
         

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?