YESNO
import java.util.Scanner; public class Main{ /** * @param args */ public static void main(String[] args) { Scanner scanner = new Scanner(System.in); while( scanner.hasNext() ){ int n = scanner.nextInt(); if(n == 0){ break; } char souArray[] = scanner.next().toCharArray(); Node tree1 = null; for (int i = 0; i < souArray.length; i++) { tree1 = insertTree(tree1, souArray[i]); } Node tree[] = new Node[n]; for (int i = 0; i < n; i++) { char array[] = scanner.next().toCharArray(); for (int j = 0; j < array.length; j++) { tree[i] = insertTree(tree[i],array[j]); } } for (int i = 0; i < n; i++) { if(prePrintf(tree[i], "").equals(prePrintf(tree1, "")) && inPrintf(tree[i], "").equals(inPrintf(tree1, ""))){ System.out.println("YES"); }else{ System.out.println("NO"); } } } } private static Node insertTree(Node node, char c) { if(node == null){ node = new Node(); node.setKey(c); return node; }else{ if(c < node.getKey()){ node.setlChild( insertTree(node.getlChild(),c) ); } if( c > node.getKey() ){ node.setrChild( insertTree(node.getrChild(),c) ); } } return node; } public static String prePrintf(Node tree, String s){ s += tree.getKey(); if(tree.getlChild() != null){ s = prePrintf(tree.getlChild(),s); } if(tree.getrChild() != null){ s = prePrintf(tree.getrChild(),s); } return s; } public static String inPrintf(Node tree, String s){ if(tree.getlChild() != null){ s = inPrintf(tree.getlChild(),s); } s += tree.getKey(); if(tree.getrChild() != null){ s = inPrintf(tree.getrChild(),s); } return s; } public static String postPrintf(Node tree, String s){ if(tree.getlChild() != null){ s = postPrintf(tree.getlChild(), s); } if(tree.getrChild() != null){ s = postPrintf(tree.getrChild(), s); } s += tree.getKey(); return s; } public static class Node{ Node lChild; Node rChild; char key; public Node getlChild() { return lChild; } public void setlChild(Node lChild) { this.lChild = lChild; } public Node getrChild() { return rChild; } public void setrChild(Node rChild) { this.rChild = rChild; } public char getKey() { return key; } public void setKey(char key) { this.key = key; } }} /************************************************************** Problem: 1009 User: yihukurama Language: Java Result: Accepted Time:90 ms Memory:15556 kb****************************************************************/