2017年上海金马五校程序设计竞赛:Problem C : Count the Number
来源:互联网 发布:易语言仓库管理源码 编辑:程序博客网 时间:2024/05/22 06:19
Problem C : Count the Number
From: DHUOJ, 2017060303
(Out of Contest)
给出一个数n,n的规模不超过20(问题规模比较小),接下来一行给出N个数字,然后我们可以在任何一个数字前面放置+或-号。然后计算出一个值。
问由这组数经过不同的加减组合能得到多少种不同的答案。
解题思路:
这个也是简单题,题目时间给了3秒,问题规模不超过20也不大,直接暴力,dfs + map(用来映射某个答案出没出现过)
#include<iostream>#include<stdio.h>#include<string.h>#include<algorithm>#include<map>using namespace std;long long a[25];map<long long,int>m;long long ans;int n;void dfs(int sum,int i){ if(i == n+1) { if(m[sum]==0) ///没有出现过 { m[sum] = 1; ans++; } return; } dfs(sum+a[i],i+1); dfs(sum-a[i],i+1);}int main(){ while(~scanf("%d",&n)) { for(int i = 1; i <= n; i++) scanf("%d",&a[i]); m.clear(); ans = 0; dfs(0,1); printf("%d\n",ans); } return 0;}
阅读全文
0 0
- 2017年上海金马五校程序设计竞赛:Problem C : Count the Number
- 2017年上海金马五校程序设计竞赛:Problem C : Count the Number
- 2017年上海金马五校程序设计竞赛 Problem C : Count the Number
- 2017年上海金马五校程序设计竞赛 C : Count the Number 深搜
- 【2017年上海金马五校程序设计竞赛】C : Count the Number 【DFS】
- 2017上海金马五校程序设计竞赛 C :Count the Number
- 2017年上海金马五校程序设计竞赛(网上资格赛)Problem B : Coach
- 2017年上海金马五校程序设计竞赛(网上资格赛) Problem J : Raising Bacteria
- 2017年上海金马五校程序设计竞赛(网上资格赛)Problem B : Coach
- 2017年上海金马五校程序设计竞赛(网上资格赛) Problem J : Raising Bacteria
- 2017年上海金马五校程序设计竞赛(网上资格赛)Problem H : DHU Club Festival
- 2017年上海金马五校程序设计竞赛(网上资格赛)Problem H : DHU Club Festival
- 2017年上海金马五校程序设计竞赛(网上资格赛)Problem J : Raising Bacteria
- 2017年上海金马五校程序设计竞赛:Problem A : STEED Cards
- 2017年上海金马五校程序设计竞赛:Problem B : Sailing
- 2017年上海金马五校程序设计竞赛:Problem E : Find Palindrome
- 2017年上海金马五校程序设计竞赛:Problem G : One for You
- 2017年上海金马五校程序设计竞赛:Problem I : Frog's Jumping
- BEC PRELIMINARY LERNING RECORD
- 山东理工热身赛
- Maven学习(六)
- 移动图片
- 《C和指针》6.18.2删除子字符串
- 2017年上海金马五校程序设计竞赛:Problem C : Count the Number
- C#取硬盘、CPU、主板、网卡的序号
- tomcat maxPostSize 404
- 解析阿里云分布式调度系统伏羲
- Spark Sort-Based Shuffle
- eclipse修改编码格式,修改tomcat发布项目的名字
- 将字符串中的单词翻转
- Android网络编程概述
- long和long raw的数据类型