Lang:G++
Edit12345678910111213141516171819202122232425262728293031#include <cstdio>#include <cstdlib>#include <vector>#include <string>#include <cstring>#include <iostream>#define OO 0x0fffffff#define MIN(a,b) (a<b?a:b)using namespace std;struct NODE{NODE *left,*right;int aid;bool accept;NODE(){aid = -1;left = right = NULL;}};NODE root;int digits[4];void add_acl(int id,char *acl,bool accept){NODE *ptr = &root;for(int i=0;acl[i];i++){if(acl[i]=='1') {if(ptr->right==NULL) ptr->right = new NODE();ptr = ptr->right;}else{if(ptr->left==NULL) ptr->left = new NODE();ptr = ptr->left;