Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <cstdlib>
- #include <cstdio>
- using namespace std;
- int A[100001], a[150][150], pr[10001], d[100001], x, i, j, n, s, f, l, r;
- bool was[100001];
- int main () {
- //#ifndef ONLINE_JUDGE
- //freopen("a.in", "r", stdin);
- //freopen("a.out", "w", stdout);
- //#endif
- scanf ("%d", &n);
- for (i = 1; i <= n; i++)
- for (j = 1; j <= n; j++)
- scanf ("%d", &a[i][j]);
- scanf ("%d %d", &s, &f);
- l = r = 1;
- was[s] = true;
- d[l] = s;
- while (l <= r) {
- x = d[l];
- for (i = 1; i <= n; i++)
- if (!was[i] && a[x][i]) {
- was[i] = true;
- d[++r] = i;
- pr[i] = x;
- }
- l++;
- }
- if (!was[f]) {
- printf ("-1");
- exit(0);
- }
- i = 0;
- while (f) {
- A[++i] = f;
- f = pr[f];
- }
- printf ("%d\n", i - 1);
- for (j = i; j >= 1; j--)
- printf ("%d ", A[j]);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement