题解 P1636 【Einstein学画画】

· · 题解

小学的数学题——一笔画

小学数学老师教的,奇点等于0或2的时候,该图可以一笔画

奇点是个什么东西呢??

奇点:从该点引出的线段有奇数个,则此点被称为奇点

因为这道题目并不是让我们判定一笔画,而是,看要有多少笔

所以,我们就可以寻找奇点,记录数字。

答案就是n/2或者n/0

因为,0不能当做被除数,所以,答案就是,n/2

还有就是,没有奇点的情况,n/2是等于0

但是,实际上,没有奇点的情况下,应该输出1

所以,需要特判

代码如下:

#include<bits/stdc++.h>
using namespace std;
int a[10010],n,m,c,d,ans;
int main()
{
    cin>>n>>m;
    for(int i=1;i<=m;i++)
    {
        cin>>c>>d;
        a[c]++;
        a[d]++;//引出的线有多少条
    }
    for(int i=1;i<=n;i++)
    {
        if(a[i]%2==1)
        {
            ans++;//计数器,有多少个奇点
         } 
    }
    if(ans==0)
    {
        cout<<1;
    }
    else
    {
        cout<<ans/2;
    }
    return 0;
}