好多WA过不了
查看原帖
好多WA过不了
921265
Autumns楼主2023/7/10 16:37

我的程序

#include <iostream>
#include <climits>
using namespace std;

int adjm[2505][2505];
bool vis[2505][2505];
int cnt[2505];
int n, m, s, t;

int dfs(int p)
{
    if(p == t) {
        return 0;
    }
    if(cnt[p]) {
        return cnt[p];
    }
    int minn = 1005;
    for(int i = 1; i <= n; i++) {
        if(vis[p][i]) {
            continue;
        }
        if(adjm[p][i]) {
            vis[p][i] = true;
            vis[i][p] = true;
            int res = adjm[p][i] + dfs(i);
            vis[p][i] = false;
            vis[i][p] = false;
            if(res < minn) {
                minn = res;
            }
        }
    }
    cnt[p] = minn;
    return minn;
}

int main()
{
    scanf("%d%d%d%d", &n, &m, &s, &t);
    for(int i = 0; i < m; i++) {
        int u, v, w;
        scanf("%d%d%d", &u, &v, &w);
        adjm[u][v] = w;
        adjm[v][u] = w;
    }
    printf("%d\n", dfs(s));
    return 0;
}

有好多WA过不了怎么办? 哪里错了?

2023/7/10 16:37
加载中...