Lang:G++
Edit12345678910111213141516171819202122232425262728293031#include <iostream>#include <string>#include <cstring>#include <fstream>#include <functional>#include <algorithm>#include <vector>using namespace std;struct Node{bool leaf;bool val;//0 and , 1 or}data[210];bool src[210];bool change[210];vector<int> vi[210];const int MMAX = (1 << 28);int DFS(int p){if (data[p].leaf){src[p] = data[p].val;change[p] = 0;return -1;}int l = vi[p][0];int r = vi[p][1];int L = DFS(l);int R = DFS(r);if (data[p].val){//orsrc[p] = src[l] | src[r];if (src[l] && src[r]){//11int mmin = MMAX;