nyoj 927 The partial sum problem
2014-05-16 21:35
281 查看
http://acm.nyist.net/JudgeOnline/problem.php?pid=927
分析:ORZ……
#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
using namespace std;
const int NM=30;
int a[NM],sum,n;
bool flag;
bool comp(int x,int y){
return x>y;
}
void DFS(int res,int i)
{
if(flag || i>n) return;
if(res==sum){
flag=1;return;
}
if(sum>0 && res+a[i]>sum) return;
if(sum<=0 && res+a[i]<sum) return;
DFS(res+a[i],i+1);
DFS(res,i+1);
}
int main()
{
int i,mmin;
while(~scanf("%d",&n))
{
mmin=-0xfffffff;
for(i=0;i<n;i++) //有负数
scanf("%d",&a[i]);
scanf("%d",&sum);
if(sum>0) sort(a,a+n);
else sort(a,a+n,comp);
flag=false;
DFS(0,0);
if(flag) printf("Of course,I can!\n");
else printf("Sorry,I can't!\n");
}
return 0;
}
分析:ORZ……
#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
using namespace std;
const int NM=30;
int a[NM],sum,n;
bool flag;
bool comp(int x,int y){
return x>y;
}
void DFS(int res,int i)
{
if(flag || i>n) return;
if(res==sum){
flag=1;return;
}
if(sum>0 && res+a[i]>sum) return;
if(sum<=0 && res+a[i]<sum) return;
DFS(res+a[i],i+1);
DFS(res,i+1);
}
int main()
{
int i,mmin;
while(~scanf("%d",&n))
{
mmin=-0xfffffff;
for(i=0;i<n;i++) //有负数
scanf("%d",&a[i]);
scanf("%d",&sum);
if(sum>0) sort(a,a+n);
else sort(a,a+n,comp);
flag=false;
DFS(0,0);
if(flag) printf("Of course,I can!\n");
else printf("Sorry,I can't!\n");
}
return 0;
}
相关文章推荐
- nyoj 927 The partial sum problem
- NYOJ 927 The partial sum problem
- NYOJ927 The partial sum problem
- NYOJ-927-The partial sum problem
- NYOJ927 The partial sum problem(深搜DFS)
- NYOJ 927 The partial sum problem
- nyoj 927 The partial sum problem(搜索)
- nyoj 927 The partial sum problem(dfs)
- NYOJ 927 The partial sum problem 【DFS】+【剪枝】
- NYOJ-927 The partial sum problem
- Nyoj 927 The partial sum problem[dfs]
- nyoj 927 The partial sum problem 【DFS+剪枝】
- [DFS]NYOJ 927 The partial sum problem
- NYOJ 927【The partial sum problem】DFS+剪枝
- nyoj927 The partial sum problem(dfs)
- NYOJ 题目927 The partial sum problem(dfs,剪枝)
- NYOJ 927 The partial sum problem(深搜)
- NYOJ-927 The partial sum problem
- NYOJ-927(搜索)-题目-----------------------------The partial sum problem
- NYOJ 927 The partial sum problem 【DFS】+【剪枝】