#include #include using namespace std; typedef int Vert; typedef int Flow; enum {N = 128}; Flow G[N][N]; int blocked[N]; Flow dfs( Vert v, Vert Sink, Vert* L[], Flow flow_in ) { Flow flow_out = 0; for(Vert *p=*L,*q=*++L; p!=q; ++p) if( G[v][*p] ) { Flow f = flow_in-flow_out 0 ) { memset(G, 0, sizeof(G)); while(m--) { scanf(" (%d,%d)%d", &u, &v, &z); G[u+2][v+2] = z; } while(np--) { scanf(" (%d)%d", &u, &z); G[0][u+2] = z; } while(nc--) { scanf(" (%d)%d", &u, &z); G[u+2][1] = z; } printf("%d\n", dinic(n+2,0,1)); } }