int main() { scanf("%d\n", &n); char cc; for (int i = 1; i <= n; i++) { for (int j = 1; j <= n; j++) { scanf("%c", &cc); c[i][j] = cc - '0'; } getchar(); } ans = 0x7fffffff; long k, i; for (i = 2; i <= n; i++) { k = i; sumflow = 0; memcpy(flow, c, sizeof(long) * (51 * 51)); for (;;) { find_flow(k); if (!visit[k]) { break; } change_flow(k); } if (sumflow < ans) { ans = sumflow; } } printf("%d\n", ans); return 0; }
int FlowManager::handle_pdu_from_below(const PortId id, Pdu &pdu) { LOG_DEBUG("handle_frame_from_below()"); // check if destination address matches if (destinations_.find(pdu.get_dest_addr()) == destinations_.end()) { // frame is not for us LOG_DEBUG("Ignoring frame for " << pdu.get_dest_addr()); return 0; } // get corresponding connection handle FlowBase* flow = find_flow(pdu, id); flow->handle_frame_from_below(pdu); return 1; }