Advertisement
Guest User

Untitled

a guest
Jun 27th, 2017
50
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.47 KB | None | 0 0
  1. import java.util.*;
  2. import java.io.*;
  3.  
  4. public class Solution {
  5. public void doMain() throws Exception {
  6. BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
  7. int N = Integer.parseInt(br.readLine());
  8. int[] a = new int[N];
  9. StringTokenizer st = new StringTokenizer(br.readLine());
  10. for (int i=0; i<N; i++)
  11. a[i] = Integer.parseInt(st.nextToken());
  12. int M = Integer.parseInt(br.readLine());
  13. int[][] seq = new int[M][];
  14. for (int i=0; i < M; i++) {
  15. int L = Integer.parseInt(br.readLine());
  16. seq[i] = new int[L];
  17. st = new StringTokenizer(br.readLine());
  18. for (int j=0; j < L; j++)
  19. seq[i][j] = Integer.parseInt(st.nextToken());
  20. }
  21. br.close();
  22.  
  23. List<List<Integer>> ll = new ArrayList<List<Integer>>();
  24. for (int i=0; i <= 1000000; i++)
  25. ll.add(new ArrayList<Integer>());
  26.  
  27. int[] pos = new int[M];
  28. for (int i=0; i < M; i++) {
  29. ll.get(seq[i][0]).add(i);
  30. }
  31.  
  32. for (int i=0; i < N; i++) {
  33. List<Integer> l = ll.get(a[i]);
  34. List<Integer> next = new ArrayList<Integer>();
  35. for (int id : l) {
  36. pos[id]++;
  37. if (pos[id] < seq[id].length) {
  38. if (seq[id][pos[id]] == a[i]) {
  39. next.add(id);
  40. } else {
  41. ll.get(seq[id][pos[i]]).add(id);
  42. }
  43. }
  44. }
  45. ll.set(a[i], next);
  46. }
  47.  
  48. for (int i=0; i < M; i++)
  49. System.out.println(pos[i] == seq[i].length ? "TAK" : "NIE");
  50. }
  51.  
  52. public static void main(String[] args) throws Exception {
  53. (new Solution()).doMain();
  54. }
  55. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement