Lang:G++
Edit12345678910111213141516171819202122232425262728293031#include <map>#include <set>#include <queue>#include <cmath>#include <ctime>#include <vector>#include <cstdio>#include <cstdlib>#include <cstring>#include <iostream>#include <algorithm>using namespace std;const int maxn = 500 + 10;const int inf = 1000000;int test, n, m, d[maxn], itr[maxn];int c[maxn][maxn];int que[maxn], head, tail;bool find(int s, int t){memset(d, -1, sizeof(d));head = tail = 0;que[tail ++] = s;d[s] = 0;while (head < tail) {int i = que[head ++];for (int j = 1; j <= n; j ++)if (c[i][j] > 0 && d[j] == -1) {d[j] = d[i] + 1;que[tail ++] = j;}