思路比较容易想到,因为口罩全部只有15批,因此直接暴力dfs搜索即可
//dfs #include
using namespace std; int ans = 9999; int num[] = {9090400, 8499400, 5926800, 8547000, 4958200, 4422600, 5751200, 4175600, 6309600, 5865200, 6604400, 4635000, 10663400, 8087200, 4554000}; void dfs(int n,int s1,int s2){if(n==15){ans = min(ans,abs(s1-s2));return ;} dfs(n+1,s1+num[n],s2);//分配给第一家医院dfs(n+1,s1,s2+num[n]);//分配给第二家医院 } int main(){dfs(0,0,0);cout<
上一篇:可复用测试用例描述要素