恩呃呃呃…給你a,b,c三類的物品,給出a,b;b,c的匹配關係,乙個a,b,c類物品在一起就算一套物品。求出最多可以有多少套物品。
最大流的問題,建立乙個超級源點和超級匯點,然後a-b-b』-c連邊,從源點跑一次網路流然後就可以求出答案了
#include
#include
#include
#include
#include
#define maxn 1000010
#define max 999999999
using
namespace
std;
int n,m,k,s,t,c=2,ans=0;
int head[maxn],next[maxn],go[maxn],w[maxn],deep[maxn];
inline
int read()
while (c>='0'&&c<='9')
return date*w;
}void add(int x,int y,int p)
bool bfs()}}
return
false;
}int dfs(int x,int mi) else deep[v]=-1;}}
return cost;
}int dinic()
int main()
f=read();
for (int i=1;i<=f;i++)
for (int i=1;i<=n;i++) add(i+m,i+m+n,1);
for (int i=1;i<=m;i++) add(n+m+k+n+1,i,1);
for (int i=1;i<=k;i++) add(i+n+n+m,n+n+m+k+2,1);
s=n+m+k+n+1; t=n+n+m+k+2;
printf("%d\n",dinic());
return
0;}
P1231 教輔的組成
題目 啊,又是煩人的拆點,其實網路瘤一堆題都是拆點,本題顯然要把書,練習冊 53 答案 學生的福音 分開,但是,書作為中轉的地方,是具有唯一性的,不能2本53都配同一本書,這時我們還需要用拆點思想保障書是唯一的。code include include include include include...
洛谷 P1231 教輔的組成
題目背景 滾粗了的hansbug在收拾舊語文書,然而他發現了什麼奇妙的東西。題目描述 蒟蒻hansbug在一本語文書裡面發現了一本答案,然而他卻明明記得這書應該還包含乙份練習題。然而出現在他眼前的書多得數不勝數,其中有書,有答案,有練習冊。已知乙個完整的書冊均應該包含且僅包含一本書 一本練習冊和乙份...
洛谷 P1231 教輔的組成
滾粗了的hansbug在收拾舊語文書,然而他發現了什麼奇妙的東西。蒟蒻hansbug在一本語文書裡面發現了一本答案,然而他卻明明記得這書應該還包含乙份練習題。然而出現在他眼前的書多得數不勝數,其中有書,有答案,有練習冊。已知乙個完整的書冊均應該包含且僅包含一本書 一本練習冊和乙份答案,然而現在全都亂...