function [ ANC,flag ] =Nf(c,f)
%构建增量网络,分层,构建辅助网络
% 增量网络
n=size(c,2);
NC=zeros(n);
for i=1:n
for j=1:n
if f(i,j)<c(i,j)&&c(i,j)>0
NC(i,j)=c(i,j)-f(i,j);
end
if f(i,j)>0&&c(i,j)>0
NC(j,i)=f(i,j);
end
end
end
%分层网络
nc=NC;
for i=1:n
for j=1:n
if(NC(i,j)==0)&&(i~=j)
nc(i,j)=inf;
elseif NC(i,j)>0
nc(i,j)=1;
end
end
end
U=nc;
m=1;
while m<=n
for i=1:n
for j=1:n
if U(i,j)>U(i,m)+U(m,j)
U(i,j)=U(i,m)+U(m,j);
end
end
end
m=m+1;
end
V=U(1,:);
flag=1;
if V(n)==inf
flag=0;
end
%辅助网络
for i=1:(n-1)
if V(i)>=V(n)
V(i)=inf;
end
end
ANC=zeros(n);
for i=1:n
if V(i)~=inf
for j=1:n
if V(j)~=inf&&V(j)==(V(i)+1)
ANC(i,j)=NC(i,j);
end
end
end
end