Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <bis/stdc++.h>
- using namespace std;
- int main()
- {
- freopen("test.in" , "r" , stdin);
- freopen("test.out" , "w" , stdout);
- scanf("%d" , &n);
- scanf("%d" , &k);
- for (i = 1 ; i <= n ; ++i)
- {
- scanf("%d" , &d[i % 2][0]);
- for (j = 1 ; j <= d[i % 2][0] ; ++j)
- scanf("%d" , &d[i % 2][j]);
- if (i == 1) continue;
- j = 1;
- while (j <= d[i % 2][0] && j <= d[1 - i % 2][0] && d[i % 2][j] == d[1 - i % 2][j])
- j++;
- if (j == min(d[i % 2][0] , d[1 - i % 2][0]) + 1)
- {
- if (d[i % 2][0] < d[1 - i % 2][0])
- {
- printf("-1\n");
- return 0;
- }
- else continue;
- }
- moves.push_back(make_pair(d[1 - i % 2][j] , d[i % 2][j]));
- used[d[i % 2][j]] = 1;
- }
- for (i = 1 ; i <= k ; ++i)
- if (!used[i]) break;
- if (i == k + 1)
- {
- printf("-1\n");
- return 0;
- }
- for (j = 1 ; j <= c - k + 1 ; ++j)
- p[j] = i++;
- i = 1;
- for (j = c - k + 2 ; j <= c ; ++j)
- p[j] = i++;
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement