1 条题解
-
0
#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
- 上传者