#include <bits/stdc++.h>
using namespace std;
int n,m,jhf,e;
vector <int> p[100010];
int v[10010];
void dfs(int x,int b){
if(e == 1){
if(b % 2 == 1){
jhf = 1;
}
}
if(jhf == 1){
return;
}
int hf = 0;
for(int i = 1;i <= p[x].size();i++){
if(v[p[x][i]] == 0){
v[p[x][i]] = 1;
dfs(v[p[x][i]],b++);
v[p[x][i]] = 0;
}
if(v[p[x][i]] == 1){
hf++;
}
if(hf >= 2){
e = 1;
}
}
}
int main()
{
cin >> n >> m;
for(int i = 1;i <= m;i++){
int u,v;
cin >> u >> v;
p[u].push_back(v);
p[v].push_back(u);
}
v[1] = 1;
dfs(1,0);
if(jhf == 1){
cout << "Impossible" << endl;
return 0;
}
// if(n % 2 == 1){
// cout << ceil(n / 2) << endl;
// }else{
// cout << n / 2 << endl;
// }
//上面一部分不对
//但又不知道怎么修改
return 0;
}
下面在奉上第一部输入样例
输入
10 8
8 2
1 5
5 10
5 3
3 6
7 8
5 2
4 3
输出
4
今天有点晚,我先去睡了...
大佬的评论我明天会看
感谢各位大佬