第1行输入N,之后N行每行描述一条水管,前两个英文字母表示水管的两端(大小写字母是不一样的),后一个整数表示水管的流量,流量不会超过1000.
一个整数,表示总流量.
5
A B 3
B C 3
C D 5
D Z 4
B Z 6
3
我完全不知道这题在讲什么……不就是网络流吗……为什么讲这么多
A是源Z是汇,跑一遍网络流乱搞就AC了
#include#include #include #define S 1 #define T 26 #define inf 0x7fffffff using namespace std; struct edge{ int to,next,v; }e[50001]; int n,cnt=1,ans; int head[10001]; int h[10001]; int q[10001]; inline void ins(int u,int v,int w) { e[++cnt].v=w; e[cnt].to=v; e[cnt].next=head[u]; head[u]=cnt; } inline void insert(int u,int v,int w) { ins(u,v,w); ins(v,u,0); }inline bool bfs() { memset(h,-1,sizeof(h)); int t=0,w=1; q[1]=S;h[S]=0; while (t >n; for (int i=1;i<=n;i++) { char a,b; int c; cin>>a>>b>>c; insert(a-'A'+1,b-'A'+1,c); } dinic(); cout<