求大佬看看这种写法哪里会出锅
查看原帖
求大佬看看这种写法哪里会出锅
666068
hyshyshys楼主2022/2/23 03:40

感觉问题应该是dfs的前两句,但又觉得没什么问题,5,7WA,8,9,10TLE

#include<stdlib.h>
#define maxn 505
int mat[maxn][maxn], match[maxn], n, m;
int dfs(int u, int t){
    for(int i = t; i <= m; i++)
        if(mat[u][i] && (!match[i] || dfs(match[i], i + 1))){
            match[i] = u;
            return 1;
        }
    return 0;
}
int main(){
    int e, u, v;
    scanf("%d%d%d", &n, &m, &e);
    for(int i = 1; i <= e; i++){
        scanf("%d%d", &u, &v);
        mat[u][v] = 1;
    }
    int ans = 0;
    for(int i = 1; i <= n; i++)
        if(dfs(i, 1)) ans++;
    printf("%d", ans);
    return 0;
}
2022/2/23 03:40
加载中...