Advertisement
askarulytarlan

v shirinu

Dec 27th, 2017
90
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.03 KB | None | 0 0
  1. #include <iostream>
  2. #include <cstdlib>
  3. #include <cstdio>
  4.  
  5. using namespace std;
  6.  
  7. int A[100001], a[150][150], pr[10001], d[100001], x, i, j, n, s, f, l, r;
  8.  
  9. bool was[100001];
  10.  
  11. int main () {
  12.  
  13. //#ifndef ONLINE_JUDGE
  14. //freopen("a.in", "r", stdin);
  15. //freopen("a.out", "w", stdout);
  16. //#endif
  17.  
  18. scanf ("%d", &n);
  19.  
  20. for (i = 1; i <= n; i++)
  21. for (j = 1; j <= n; j++)
  22. scanf ("%d", &a[i][j]);
  23.  
  24. scanf ("%d %d", &s, &f);
  25.  
  26. l = r = 1;
  27.  
  28. was[s] = true;
  29. d[l] = s;
  30.  
  31. while (l <= r) {
  32. x = d[l];
  33. for (i = 1; i <= n; i++)
  34. if (!was[i] && a[x][i]) {
  35. was[i] = true;
  36. d[++r] = i;
  37. pr[i] = x;
  38. }
  39. l++;
  40. }
  41.  
  42. if (!was[f]) {
  43. printf ("-1");
  44. exit(0);
  45. }
  46. i = 0;
  47. while (f) {
  48. A[++i] = f;
  49. f = pr[f];
  50. }
  51.  
  52. printf ("%d\n", i - 1);
  53.  
  54. for (j = i; j >= 1; j--)
  55. printf ("%d ", A[j]);
  56.  
  57. return 0;
  58.  
  59. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement