fork download
  1. #include<iostream>
  2. #include<vector>
  3. #define endl '\n'
  4. using namespace std;
  5. typedef long long ll;
  6. int n,k;
  7. vector<int> g[510];
  8. int match[510]={};
  9. bool find(int i)
  10. {
  11. for(int j=0;j<g[i].size();j++)
  12. {
  13. int &m=match[g[i][j]];
  14. if(m==0 || m!=i && find(m))
  15. {
  16. m=i;
  17. return true;
  18. }
  19. }
  20. return false;
  21. }
  22. int main()
  23. {
  24. ios::sync_with_stdio(0);
  25. cin.tie(0);
  26.  
  27. cin>>n>>k;
  28. for(int i=0;i<k;i++)
  29. {
  30. int a,b;
  31. cin>>a>>b;
  32. g[a].push_back(b);
  33. }
  34. int ans=0;
  35. for(int i=1;i<=n;i++)
  36. if(find(i))
  37. ans++;
  38. cout<<ans<<endl;
  39. }
Success #stdin #stdout 0s 3284KB
stdin
3 4
1 1
1 3
2 2
3 2
stdout
2