若能一筆畫,則滿足

1.所有節點皆為偶數邊 (一進一出)

2.若有奇數邊,必剛好有兩組 (一個起點,一個終點)

 

#include <iostream>
#include <map>

using namespace std;

 

 

int main()
{
    ios::sync_with_stdio(false);
    cin.tie(0);

    int vertex, edge;
    int v1, v2, odd;

    map<int, int> connect_way;

    while(cin >> vertex >> edge)
    {
        connect_way.erase(connect_way.begin(), connect_way.end());

        for(int i = 0; i<edge; i++)
        {
            cin >> v1 >> v2;
            connect_way[v1]++;
            connect_way[v2]++;
        }

        odd = 0;
        for(map<int,int>::iterator iter = connect_way.begin(); iter != connect_way.end(); iter++)
            if(iter->second % 2)
                odd++;

        if(odd > 0 && odd != 2)
            cout << "NO" << endl;
        else
            cout << "YES" << endl;
    }
}
 

 
arrow
arrow
    全站熱搜

    大神(偽) 發表在 痞客邦 留言(0) 人氣()