我要当月老

xiaoxiao2025-10-14  4

我要当月老

#include<iostream> #include<cstdio> #include<algorithm> #include<cstring> using namespace std; int e[101][101]; int match[101]; int book[101]; int n,m; int dfs(int u) { int i; for(i=1;i<=n;i++) { if(book[i]==0&&e[u][i]==1) { book[i]=1; if(match[i]==0||dfs(match[i])) { match[i]=u; return 1; } } } return 0; } int main(){ int t1,t2,sum=0; cin>>n>>m; for(int i=1;i<=m;i++) { cin>>t1>>t2; e[t1][t2]=1; } for(int i=1;i<=n;i++) match[i]=0; for(int i=1;i<=n;i++) { for(int j=1;j<=n;j++) { book[j]=0; } if(dfs(i)) sum++; } cout<<sum; return 0; } 输入输出3 51 11 22 22 33 13
转载请注明原文地址: https://www.6miu.com/read-5037887.html

最新回复(0)