怎么计算需要螃蟹的个数啊?
查看原帖
怎么计算需要螃蟹的个数啊?
556815
M213楼主2023/8/18 21:59
#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

今天有点晚,我先去睡了...

大佬的评论我明天会看

感谢各位大佬

2023/8/18 21:59
加载中...