#include <iostream>
#include <vector>
#include<bits/stdc++.h>
using namespace std;
int n,a,b,ans = 0;
int v;
int t = 0;
vector<int> g[1000005];
int used[1000005];
int dp[1000005];
int an[1000005] = {0};
bool Find(int x){
for (int i = 0; i < g[x].size(); i++) {
if (used[i] != t) {
used[i] = t;
if (dp[g[x][i]] == 0 || Find(dp[g[x][i]])){
dp[g[x][i]] = x;
return true;
}
}
}
return false;
}
int main(int argc, const char * argv[]) {
scanf("%d",&n);
for (int i = 0; i < n; i++) {
scanf("%d%d",&a,&b);
g[a].push_back(i);
g[b].push_back(i);
an[a] = 1;
an[b] = 1;
}
for (int i = 1; i <= 10000; i++) {
t++;
if (Find(i)) {
ans++;
}
else
break;
}
printf("%d",ans);
return 0;
}
by _TLE自动机_ @ 2019-06-30 11:57:42
宁解决了吗 我也wa了第一个
by MifuneShioriko @ 2019-10-04 21:26:04