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;
}
Esempio n. 2
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;
}