1095-奇特的图形

描述

记得上小学奥数时,JacmY最喜欢做的题就是给一个图形,从它某一个顶点出发描这个图形,若恰通过图中每条边一次,看最后能否又回到起点。当时JacmY只懂得拿着铅笔随便画画试试,如果成功了,就说这个图能画下来,而他判断不能画下来的标准就是费了半天功夫都画不出来,当然这么做是不对的,特别当图形变得复杂时,JacmY是试不过来的。看着可怜的JacmY,你能帮帮他吗?

输入

 

第一行一个整数T代表样例的组数。

以下T组数据中,每组第一行是N,K,(2 <= N <= 100)分别代表当前图形有N个顶点,K条边,接下来K行中,每行两个整数X, Y( 1 <= X, Y <= N)代表顶点X和顶点Y之间有一条边。

每组数据之间有一空行。

输出

如果当前图形能按照题目要求描出来,则输出“YES”(不包括引号),否则输出“NO”。

样例输入

3

3 3

1 2

2 3

1 3


3 2

1 2

2 3


2 2

1 2

1 2

样例输出

YES

NO

YES

#include<iostream>
using namespace std;

int main()
{
    int test;
    int n,k,i,x,y;
    cin>>test;
    while(test--)
    {
        int f=0;
        int a[101]={0};
        cin>>n>>k;
        for(i=1;i<=k;i++)
        {
            cin>>x>>y;
            a[x]++;
            a[y]++;
        }
        for(i=1;i<=n;i++)
        {
            if(a[i]%2==1)
            {
                f=1;
            }
        }
        if(f==0) cout<<"YES"<<endl;
        else cout<<"NO"<<endl;
    }
    return 0;
}

  

原文地址:https://www.cnblogs.com/Rosanna/p/3436891.html