题目背景
本题数据有误,请不要提交。
题目描述
Einstein 学起了画画。
此人比较懒~~,他希望用最少的笔画画出一张画……
给定一个无向图,包含 n 个顶点(编号 1∼n),m 条边,求最少用多少笔可以画出图中所有的边。
输入格式
第一行两个整数 n,m。
接下来 m 行,每行两个数 a,b(a≠b),表示 a,b两点之间有一条边相连。
一条边不会被描述多次。
输出格式
一个数,即问题的答案。
输入输出样例
输入 #1
5 5 2 3 2 4 2 5 3 4 4 5
输出 #1
1
说明/提示
对于 50% 的数据,n≤50,m≤100。
对于 100%的数据,1≤n≤1000,1≤m≤105
思路:统计基点数量,因为求画几笔=奇点数/2(=0时1笔)
好了
代码
#include<bits/stdc++.h>
using namespace std;
int a[114514];
int main(){
ios::sync_with_stdio(false);
cin.tie(0);
cout.tie(0);
int n,m;
cin>>n>>m;
for(int i=0;i<m;i++){
int u,v;
cin>>u>>v;
a[u]++;
a[v]++;
}
int sum=0;
for(int i=1;i<=n;i++){
if(a[i]&1){
sum++;
}
}
if(sum==0){
cout<<1;
return 0;
}
cout<<(sum)/2;
return 0;
}