第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<