Advertisement
Guest User

Untitled

a guest
Oct 26th, 2016
61
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.99 KB | None | 0 0
  1. #include <bis/stdc++.h>
  2.  
  3. using namespace std;
  4.  
  5. int main()
  6. {
  7.  
  8. freopen("test.in" , "r" , stdin);
  9. freopen("test.out" , "w" , stdout);
  10.  
  11. scanf("%d" , &n);
  12. scanf("%d" , &k);
  13.  
  14. for (i = 1 ; i <= n ; ++i)
  15. {
  16. scanf("%d" , &d[i % 2][0]);
  17. for (j = 1 ; j <= d[i % 2][0] ; ++j)
  18. scanf("%d" , &d[i % 2][j]);
  19.  
  20. if (i == 1) continue;
  21.  
  22. j = 1;
  23. while (j <= d[i % 2][0] && j <= d[1 - i % 2][0] && d[i % 2][j] == d[1 - i % 2][j])
  24. j++;
  25.  
  26. if (j == min(d[i % 2][0] , d[1 - i % 2][0]) + 1)
  27. {
  28. if (d[i % 2][0] < d[1 - i % 2][0])
  29. {
  30. printf("-1\n");
  31. return 0;
  32. }
  33. else continue;
  34. }
  35.  
  36. moves.push_back(make_pair(d[1 - i % 2][j] , d[i % 2][j]));
  37. used[d[i % 2][j]] = 1;
  38. }
  39.  
  40. for (i = 1 ; i <= k ; ++i)
  41. if (!used[i]) break;
  42.  
  43. if (i == k + 1)
  44. {
  45. printf("-1\n");
  46. return 0;
  47. }
  48.  
  49. for (j = 1 ; j <= c - k + 1 ; ++j)
  50. p[j] = i++;
  51.  
  52. i = 1;
  53. for (j = c - k + 2 ; j <= c ; ++j)
  54. p[j] = i++;
  55.  
  56. return 0;
  57. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement