#include <bits/stdc++.h>
using namespace std;
vector <int> g[1005];
int a[1005][2];
int match[1005],t[1005],c[1005];
int find(int x) {
int i,v;
for (i=0; i<g[x].size(); i++) {
v=g[x][i];
if (t[v]==0) {
t[v]=1;
if (match[v]==0||find(match[v])==1) {
match[v]=x;
return 1;
}
}
}
return 0;
}
void color (int u,int fa) {
if (c[fa]==1){
c[u]=2;
}else{
c[u]=1;
}
for (int i=0; i<g[u].size(); i++) {
int v=g[u][i];
if (v==fa||c[v]!=0) {
continue;
}
color(v,u);
}
}
int main () {
int n,m,i,x,y,ans=0;
cin>>n>>m;
for (i=1; i<=m; i++) {
cin>>x>>y;
x++,y++;
g[x].push_back(y);
g[y].push_back(x);
a[i][0]=x,a[i][1]=y;
}
for (i=1;i<=m;i++){
if (c[a[i][0]]==0){
color(a[i][0],0);
}
if (c[a[i][1]]==0){
color(a[i][1],0);
}
}
for (i=1; i<=n; i++) {
if (c[i]!=0) {
memset(t,0,sizeof(t));
if (find(i)==1) {
ans++;
}
}
}
cout<<(n-ans);
return 0;
}
求助