/*ID: lucien23PROG: holsteinLANG: C++*/#include #include #include using namespace std;bool compFun(int x, int y){ int temp, i = 0; while (true) { temp = 1 << i; if (temp&x > temp&y) { return true; } else if (temp&x < temp&y) { return false; } i++; }}int main(){ ifstream infile("holstein.in"); ofstream outfile("holstein.out"); if(!infile || !outfile) { cout << "file operation failure!" << endl; return -1; } int arrCnt[15] = {1,3,7,15,31,63,127,255,511,1023,2047,4095,8191,16383,32767}; int V; infile >> V; int *minRequire = new int[V]; for (int i=0; i > minRequire[i]; } int G; infile >> G; int **feeds = new int *[G]; for (int i=0; i > feeds[i][j]; } } int minScoopsCnt = 16; int minScoops = 0; int *sumVita = new int[V]; int sumScoops; for (int i=1; i<=arrCnt[G-1]; i++) {//穷举遍历每一种方案 for (int k=0; k << j; if ((temp & i) == temp) {//包括类型j for (int k=0; k << j; if ((temp & minScoops) == temp) { outfile << " " << j+1; } } outfile << endl; return 0;}