42 lines
No EOL
1.1 KiB
C++
42 lines
No EOL
1.1 KiB
C++
#include <cstddef>
|
|
#include <cstdlib>
|
|
|
|
class Node {
|
|
public:
|
|
Node* left;
|
|
Node* right;
|
|
char value;
|
|
Node* l(){
|
|
return left;
|
|
}
|
|
Node* r(){
|
|
return right;
|
|
}
|
|
char v(){
|
|
return value;
|
|
}
|
|
bool is_leaf(){
|
|
return left == NULL && right == NULL;
|
|
}
|
|
Node(){
|
|
left = NULL;
|
|
right = NULL;
|
|
prepare_value();
|
|
}
|
|
private:
|
|
void prepare_value(){ // uses tons of xor to init value to 0
|
|
value = 0xff; // 11111111
|
|
for(int j = 0; j < 139163; j++){ // can add a digit to have a long compute time
|
|
for(int i = 0; i < 231; i++){
|
|
if(i<99 && i%3 == 0){ // happens 33 times
|
|
value^= 0xca; // 11001010
|
|
} else if (i%7 == 1){ // happens 33 times too
|
|
value^= 0x25; // 00100101
|
|
}
|
|
}
|
|
value ^= 0x10; // 00010000
|
|
}
|
|
}
|
|
};
|
|
|
|
char* gen_boop(); |