| # | Problem | Pass Rate (passed user / total user) |
|---|---|---|
| 11847 | Prefix Boolean expression |
|
| 12184 | Binary Tree Operations II |
|
Description
Give a prefix Boolean expression, which only has at most 4 variables ‘A’, ‘B’, ‘C’, and ‘D’, and 2 operators, AND ‘&’ and OR ‘|’, print its truth table.
For example, if input is "|&AC|AB", then result will be
A B C D output
0 0 0 0 0
0 0 0 1 0
0 0 1 0 0
0 0 1 1 0
0 1 0 0 1
0 1 0 1 1
0 1 1 0 1
0 1 1 1 1
1 0 0 0 1
1 0 0 1 1
1 0 1 0 1
1 0 1 1 1
1 1 0 0 1
1 1 0 1 1
1 1 1 0 1
1 1 1 1 1
Input
The input contains a sequences of prefix expression. It only has at most 4 variables ‘A’, ‘B’, ‘C’, and ‘D’, and 2 operators, AND ‘&’ and OR ‘|’. The length of prefix expression is shorter than 30.
Output
It has 5 variables 'A', 'B', 'C', 'D', and output, each variable is separated by a space.
Sample Input Download
Sample Output Download
Tags
Discuss
Description
This is a partial judge problem (Judge Language : C)
Please download the partial judge code and header.
Then, implement 2 functions : buildTree() and showPreorder()
You have to build the binary tree according to its inorder and postorder.
Next , print out the preorder of the binary tree!
Submit format:
#include <stdio.h>
#include <stdlib.h>
#include "function.h"
Node* buildTree(int* inorder, int* preorder, int inorder_start, int inorder_end){
/*YOUR CODE HERE*/
}
void showPreorder(Node* root){
/*YOUR CODE HERE*/
}
Input
There are 3 lines for inputs.
The first line contains an integer N , which indicates the number of nodes of the binary tree.
The second line is the inorder traversal of the binary tree
The third line is the postorder traversal of the binary tree
※Note that there are not duplicated integers in the binary tree
Output
Print out the preorder traversal of the binary tree.
Note that :
1.There is an whitespace between each integer.
2.There is an whitespace after the last integer.
3.Threre is no need to add "\n" at last