题意按照我的理解就是相当于一个具有多个重量W的01背包。就是从一个W扩展到P,A,C,M四个属性。 大概做法就是按照01背包的样式进行改写就可以了,因为范围很小只有36,所以时间复杂度就是个五层的循环,大概O(pow(36,5)) = 6000w左右,不会超时,这里要降一层数组,就是4层的一个dp数组就够了。也不会超内存.使用记录路径的方法,直到最后再还原回去把加入的物品记录下来最后再输出。也就是一个很裸的做法。 具体直接看代码吧。 #include<bits/stdc++.h> using namespace std; const int MAX = 38; int dp[M...