1 条题解

  • 0
    @ 2025-10-5 21:22:54
    #include <bits/stdc++.h>
    #define LL long long
    #define ULL unsigned long long
    #define F(i,a,b) for(int i=a;i<=b;i++)
    #define D(i,a,b) for(int i=a;i>=b;i--)
    #define PII pair<int,int>
    using namespace std;
    const int N = 1e6+10;
    const int INF = 2147483647;
    const int MOD1 = 998244353;
    const int MOD2 = 1000000007;
    template<typename T>inline void read(T &x) {
        x = 0;int f = 1;char ch = getchar();
        for(;ch<'0'||ch>'9';ch=getchar()) if(ch=='-') f = -f;
        for(;ch>='0'&&ch<='9';ch=getchar()) x = (x<<1)+(x<<3)+(ch^48);
        x*=f;
    }
    int n,m,e;
    int g[1010][1010],vis[N],match[N];
    bool check(int u) {
        F(i,1,m) {
            if(g[u][i]&&vis[i]==0) {
                vis[i] = 1;
                if(!match[i]||check(match[i])) {
                    match[i] = u;
                    return 1;
                }
            }
        }
        return 0;
    }
    signed main() {
        ios_base::sync_with_stdio(false);
        cin.tie(0); cout.tie(0);
        read(n); read(m); read(e);
        F(i,1,e) {
            int u,v;
            read(u); read(v);
            if(u<=n&&v<=m) g[u][v] = 1;
        }
        int ans = 0;
        F(i,1,n) {
            memset(vis,0,sizeof(vis));
            if(check(i)) ans++;
        }
        cout<<ans<<'\n';
        return 0;
    }
    

    信息

    ID
    1398
    时间
    1000ms
    内存
    256MiB
    难度
    4
    标签
    递交数
    3
    已通过
    3
    上传者