本文共 653 字,大约阅读时间需要 2 分钟。
开始的时候,用dfs去做,结果果断超时;后面看了一下,原来就是一个0--1背包的变形题。
代码如下:
/*ID: 15674811LANG: C++TASK: subset*/#include#include #include #include using namespace std;int main(){ ///ofstream cout("subset.out"); ///ifstream cin("subset.in"); long long V[700]; ///答案的最大值超过了int的范围 int n; while(cin>>n) { int sum=0; for(int i=1;i<=n;i++) sum+=i; if(sum%2) { cout<<"0"< =i;j--) { V[j]+=V[j-i]; } cout<
转载地址:http://wurfb.baihongyu.com/