Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.sql.Statement;
- import java.util.Iterator;
- import java.util.Scanner;
- import java.util.Stack;
- public class Test
- {
- static int n;
- static int num = 0;
- private static void bal(Stack<Character> stack1, Stack<Character> stack2)
- {
- if (stack2.size() == n)
- {
- if (stack1.empty())
- {
- num++;
- if (num == 8233)
- {
- Iterator<Character> it = stack2.iterator();
- for (int i = 0; i < n; i++)
- {
- System.out.print(it.next());
- }
- System.out.println();
- }
- }
- return;
- }
- stack1.push('(');
- stack2.push('(');
- bal(stack1, stack2);
- stack1.pop();
- stack2.pop();
- if (!stack1.empty() && stack1.peek() == '(')
- {
- stack1.pop();
- stack2.push(')');
- bal(stack1, stack2);
- stack1.push('(');
- stack2.pop();
- }
- stack1.push('[');
- stack2.push('[');
- bal(stack1, stack2);
- stack1.pop();
- stack2.pop();
- if (!stack1.empty() && stack1.peek() == '[')
- {
- stack1.pop();
- stack2.push(']');
- bal(stack1, stack2);
- stack1.push('[');
- stack2.pop();
- }
- }
- public static void main(String[] args)
- {
- Scanner sc = new Scanner(System.in);
- System.out.println("Enter n:");
- n = sc.nextInt();
- n += n;
- Stack<Character> stack1 = new Stack<>();
- Stack<Character> stack2 = new Stack<>();
- bal(stack1, stack2);
- }
- }
Add Comment
Please, Sign In to add comment