这道题就是一个简单的欧拉回路的模板,统计每个点的度数,如果每个点的度数都为偶数,那么就可以一笔画(因为每个点都有进有出),否则统计度数为奇数的点的个数(记为num)答案就是num/2(每次都把度数为奇数的点分别作为起点和终点)
#include <bits/stdc++.h>
using namespace std;
int sum,n,m; //sum统计奇数点个数
int arr[1005]; //统计每个点的度数
int main()
{
cin>>n>>m;
for(int i=1;i<=m;i++)
{
int x,y;
cin>>x>>y;
arr[x]++;
arr[y]++;
}
for(int i=1;i<=n;i++)
{
if(arr[i]%2)sum++;
}
if(sum)cout<<sum/2;
else cout<<sum+1; //没有奇数点那就一笔画
return 0;
}