NYOJ 题目927 The partial sum problem(dfs,剪枝)
来源:互联网 发布:网络写手如何赚钱 编辑:程序博客网 时间:2024/04/30 14:25
The partial sum problem
时间限制:1000 ms | 内存限制:65535 KB
难度:2
- 描述
- One day,Tom’s girlfriend give him an array A which contains N integers and asked him:Can you choose some integers from the N integers and the sum of them is equal to K.
- 输入
- There are multiple test cases.
Each test case contains three lines.The first line is an integer N(1≤N≤20),represents the array contains N integers. The second line contains N integers,the ith integer represents A[i](-10^8≤A[i]≤10^8).The third line contains an integer K(-10^8≤K≤10^8). - 输出
- If Tom can choose some integers from the array and their them is K,printf ”Of course,I can!”; other printf ”Sorry,I can’t!”.
- 样例输入
41 2 4 71341 2 4 715
- 样例输出
Of course,I can!Sorry,I can't!
- 来源
- 原创
- 上传者
- TC_李远航ac代码
#include<string.h>#include<math.h>#include<stdio.h>#include<stdlib.h>int cmp(const void *a,const void *b){return *(int *)a-*(int *)b;}int a[30],n,sum,w,v[30];void dfs(int k,int cot){int i;if(cot==sum){w=1;return;}if(w)return;for(i=k;i<n;i++){if(i&&a[i]==a[i-1]&&!v[i-1])continue;if(cot>sum&&a[i]>0)return;v[i]=1;dfs(i+1,cot+a[i]);if(w)return;v[i]=0;}}int main(){while(scanf("%d",&n)!=EOF){int i;for(i=0;i<n;i++)scanf("%d",&a[i]);scanf("%d",&sum);qsort(a,n,sizeof(a[0]),cmp);w=0;memset(v,0,sizeof(v));dfs(0,0);if(w)printf("Of course,I can!\n");elseprintf("Sorry,I can't!\n");}}
0 0
- NYOJ 题目927 The partial sum problem(dfs,剪枝)
- NYOJ 927 The partial sum problem 【DFS】+【剪枝】
- NYOJ 927【The partial sum problem】DFS+剪枝
- nyoj 927 The partial sum problem 【DFS+剪枝】
- Nyoj 927 The partial sum problem[dfs]
- nyoj 927The partial sum problem (DFS)
- [DFS]NYOJ 927 The partial sum problem
- 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
- NYOJ The partial sum problem 927
- NYOJ-927 The partial sum problem
- NYOJ 927 The partial sum problem
- nyoj 927 The partial sum problem
- NYOJ-927-The partial sum problem
- NYOJ--927--搜索--The partial sum problem
- Java不同压缩算法的性能比较
- 将layout文件转化成View对象的方法
- Deep Learning(深度学习)学习笔记整理系列之(七)
- Hive创建索引
- 1002. A+B for Polynomials
- NYOJ 题目927 The partial sum problem(dfs,剪枝)
- openMPM源码分析(四)
- Deep Learning(深度学习)学习笔记整理系列之(八)
- stack栈
- 关于文件读取的第一次尝试
- try{}catch{} 快捷键
- Hadoop之表的关联
- Android反编译-反编译工具和方法
- C/C++变量在内存中的分布