73pts求调
查看原帖
73pts求调
1179906
hhy8399楼主2025/4/26 22:18

被数据

5 5 4
1 2
1 3
2 4
3 4
4 5

hack了 代码:

#include <bits/stdc++.h>
using namespace std;

const int N = 5e3 + 10;

int n,k,m,p,q,a[N][N],b[N],minn,ans = 1;
bool pos[N];

void dfs(int x) {
	minn = 1e6 + 10;
    pos[x] = true;
    for (int i = 1;i <= n;i ++) {
        if(a[x][i] && !pos[i]) {
            b[i] --;
        }
    }
    for (int i = 1;i <= n;i ++) {
    	if(a[x][i]) {
    		minn = min(minn,b[i]);
    	}
    }
    for (int i = 1;i <= n;i ++) {
        if(!pos[i] && b[i] == minn && a[x][i]) {
            dfs(i);
        }
    }
}

int main() {
    cin >> n >> k >> m;
    minn = m - 1;
    for (int i = 1;i <= k;i ++) {
        cin >> p >> q;
        a[p][q] = 1;
        a[q][p] = 1;
    }
    for(int i = 1;i <= n;i ++) {
    	b[i] = m;
    }
    dfs(1);
    ans = m;
    for(int i = 2;i <= n;i ++) {
    	ans *= b[i];
    }
    if(ans <= 0) {
    	cout << 0 << endl;
    }
    else {
    	cout << ans << endl;
    }
    return 0;
}
2025/4/26 22:18
加载中...