比赛 |
202110省实验桐柏一中普及组联赛 |
评测结果 |
AAAAAAAAAA |
题目名称 |
分配同桌 |
最终得分 |
100 |
用户昵称 |
蒟蒻 |
运行时间 |
0.625 s |
代码语言 |
C++ |
内存使用 |
20.25 MiB |
提交时间 |
2021-10-18 18:45:45 |
显示代码纯文本
#include<bits/stdc++.h>
#define inf 999999
using namespace std;
int n,m,x,y,ans;
bool ok[10005][10005],t[10005];
int lj[10005];
bool find(int v){
for(int i=1;i<=m;i++){
if(ok[v][i]&&!t[i]){
t[i]=true;
if(lj[i]==-1||find(lj[i])){lj[i]=v;return true;}
}
}
return false;
}
int main(){
freopen("tongzhuo.in","r",stdin);
freopen("tongzhuo.out","w",stdout);
cin>>n>>m;
while(cin>>x>>y){
ok[y][x]=true;
}/*
for(int i=1;i<=n;i++){
for(int j=1;j<=n;j++){
cout<<ok[i][j]<<" ";
}
cout<<endl;
}*/
memset(lj,-1,sizeof(lj));
for(int i=1;i<=n;i++){
memset(t,0,sizeof(t));
if(find(i)) {ans++;/*cout<<i<<" ";*/}
}
cout<<ans;
return 0;
}