?? 最短增廣路求最大流.cpp
字號:
/*
**最短增廣路算法.
*/
#include <stdio.h>
#include <string.h>
int C[10][10];
main()
{
int head=1,tail=1,queue[100],d[100],flag[100],s,t,q,p,w,m,n,i,j,node;
memset(C,0,sizeof(C));
memset(flag,0,sizeof(flag));
scanf("%d%d",&n,&m);
s=1;t=n;
for(i=1;i<=m;i++)
{
scanf("%d%d%d",&p,&q,&w);
C[p][q]=w;
}
queue[1]=t; d[t]=0;
while(head<=tail)
{
node=queue[head];
for(i=1;i<=n;i++)
{
if(C[i][node]>0&&flag[i]==0)
{
tail++;
queue[tail]=i;
d[i]=d[node]+1;
flag[i]=1;
}
}
head++;
}
for(i=1;i<=t;i++)
printf("%d ",d[i]);
while(1);
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -