fork download
  1. /*
  2.   * To change this license header, choose License Headers in Project Properties.
  3.   * To change this template file, choose Tools | Templates
  4.   * and open the template in the editor.
  5.   */
  6. // package codechef;
  7.  
  8. import java.util.Iterator;
  9. import java.util.LinkedHashSet;
  10. import java.util.Scanner;
  11. import java.util.Set;
  12. import java.util.TreeSet;
  13.  
  14. /**
  15.   *
  16.   * @author Hemant Dhanuka
  17.   */
  18. class WSITES01 {
  19. // static int count=0;
  20.  
  21. static boolean dictionary[] = new boolean[26 * 2 * 100000];
  22.  
  23. public static void main(String[] args) {
  24. Scanner s = new Scanner(System.in);
  25. // ArrayList<String> storeBlockedStringArray=new ArrayList<>();
  26. TreeSet<String> storeBlockedStringArray = new TreeSet<>();
  27.  
  28. // ArrayList<String> filterStrings=new ArrayList<>();
  29. // TreeSet<String> filterStrings=new TreeSet<>();
  30. // HashSet<String> filterStrings=new HashSet<>();
  31. Set<String> filterStrings = new LinkedHashSet<String>();
  32.  
  33. int noOfCases = s.nextInt();
  34. for (int i = 0; i < noOfCases; i++) {
  35. String sign = s.next();
  36. String websiteName = s.next();
  37. if (sign.equals("+")) {
  38. storingInArray(websiteName);
  39. } else {
  40. storeBlockedStringArray.add(websiteName);
  41. }
  42. }
  43. Iterator<String> itr = storeBlockedStringArray.iterator();
  44. // for(int j=0;j<al.size();j++){
  45. while (itr.hasNext()) {
  46. // System.out.println();
  47. String blockedWebsite = itr.next();
  48. for (int k = 0; k < blockedWebsite.length(); k++) {
  49. int c = (int) blockedWebsite.charAt(k);
  50. if (!dictionary[(c - 97) + 26 * k]) {
  51. filterStrings.add(blockedWebsite.substring(0, k + 1));
  52. break;
  53. }
  54. }
  55.  
  56. }
  57.  
  58. int size = filterStrings.size();
  59. if (size == 0) {
  60. System.out.println(-1);
  61. } else {
  62. // filterStrings.sort(c);
  63. System.out.println(size);
  64. // for(String s11:filterStrings){
  65. // System.out.println(s11);
  66. // }
  67. //
  68. Iterator<String> iterator = filterStrings.iterator();
  69.  
  70. // Displaying the Tree set data
  71. while (iterator.hasNext()) {
  72. System.out.println(iterator.next());
  73. }
  74. // for(int p=0;p<filterStrings.size();p++){
  75. // System.out.println(filterStrings.getp));
  76. // }
  77. }
  78.  
  79. }
  80.  
  81. private static void storingInArray(String websiteName) {
  82. for (int i = 0; i < websiteName.length(); i++) {
  83. int c = websiteName.charAt(i);
  84. dictionary[(c - 97) + 26 * i] = true;
  85. }
  86.  
  87. }
  88. }
  89.  
Runtime error #stdin #stdout #stderr 0.06s 4386816KB
stdin
Standard input is empty
stdout
Standard output is empty
stderr
Exception in thread "main" java.util.NoSuchElementException
	at java.util.Scanner.throwFor(Scanner.java:862)
	at java.util.Scanner.next(Scanner.java:1485)
	at java.util.Scanner.nextInt(Scanner.java:2117)
	at java.util.Scanner.nextInt(Scanner.java:2076)
	at WSITES01.main(Main.java:33)