网络流24题 洛谷 2756 飞行员配对方案

Posted horsepower2001

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了网络流24题 洛谷 2756 飞行员配对方案相关的知识,希望对你有一定的参考价值。

代码风格迥异 ……

技术分享图片
 1 #include<bits/stdc++.h>
 2 
 3 const int N=1000+5;
 4 
 5 using namespace std;
 6 
 7 int link[N],g[N][N],ansx[N];
 8 int n,m,u,v,ans;
 9 bool vis[N];
10 
11 inline void read( int&x ) {
12     int f=1;x=0;char c=getchar();
13     while(c>9||c<0) {if(c==-) f=-1;c=getchar();}
14     while(c>=0&&c<=9) x=10*x+c-48,c=getchar();
15     x=x*f;
16 }
17 bool find(int x){
18     for(int i=1;i<=m;i++){
19         if(!vis[i] && g[x][i]){
20             vis[i]=true;
21             if((!link[i]) || find(link[i])){
22                 link[i]=x;
23                 ansx[i]=x;
24                 return true;
25             }
26         }
27     }
28     return false;
29 }
30 int main(){
31     read(m);read(n);
32     while(1){
33         read(u);read(v);
34         if(u==-1 && v==-1)
35             break;
36         g[v][u]=1;
37     }
38     for(int i=m+1;i<=n+m;i++){
39         memset(vis,false,sizeof(vis));
40         if(find(i))
41             ans++;
42     }
43     if(!ans){
44         printf("No solution!");
45         return 0;
46     }
47     printf("%d\n",ans);
48     for(int i=1;i<=m;i++)
49         if(link[i])
50             printf("%d %d\n",i,link[i]);
51     return 0;
52 }
Ans

 

以上是关于网络流24题 洛谷 2756 飞行员配对方案的主要内容,如果未能解决你的问题,请参考以下文章

网络流24题Luogu P2756飞行员配对方案问题

[网络流24题]飞行员配对方案问题

[洛谷P2756]飞行员配对方案问题

luogu P2756 飞行员配对方案问题 网络流24

飞行员配对方案问题(网络流24题)

目标:网络流24题。