Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <bits/stdc++.h>
- using namespace std;
- int main()
- {
- freopen("in.txt", "r", stdin);
- freopen("out.txt", "w", stdout);
- int n, m;
- scanf("%i %i", &n, &m);
- vector< vector<int> > A(n, vector<int>(n));
- for (int i = 0; i < n; ++i)
- for (int j = 0; j < n; ++j)
- scanf("%i", &A[i][j]);
- list<int> stack;
- int x, y;
- for (int i = 0; i < m; ++i)
- {
- scanf("%i", &x);
- if (!stack.empty())
- {
- y = stack.back();
- if (A[x - 1][y - 1] != 0)
- {
- stack.pop_back();
- x = A[x - 1][y - 1];
- }
- }
- stack.push_back(x);
- }
- for (auto pos = stack.rbegin(); pos != stack.rend(); ++pos)
- {
- if (pos != stack.rbegin())
- putchar(' ');
- printf("%i", *pos);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement