1. 程式人生 > >2017上海金馬五校程式設計競賽 C :Count the Number

2017上海金馬五校程式設計競賽 C :Count the Number

Time Limit: 3 s

Description

Given n numbers, your task is to insert '+' or '-' in front of each number to construct expressions. Note that the position of numbers can be also changed. You can calculate a result for each expression. Please count the number of distinct results and output it.

Input

There are several cases. For each test case, the first line contains an integer n (1 ≤ n ≤ 20), and the second line contains n integers a1,a2, ... ,an(-1,000,000,000 ≤ ai ≤ 1,000,000,000).

Output

For each test case, output one line with the number of distinct results

Sample Input
2
1 2
3
1 3 5

 Sample Output

48 本題題意: 這題說的是第一行給你一個n,接下來一行給你n個數,可以在這n 個數前邊加“+”或者“-”,計算這些數的和,輸出有幾種不同的和。 解題思路: 因為資料比較小,直接暴力深搜就可以。 程式碼:
#include <iostream>
#include <algorithm>
#include <map>
#include <cstdio>
using namespace std;
int a[25];
map <int,int> M;
int n,ans;
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=0; i<n; i++)
            scanf("%d",&a[i]);
        M.clear();
        ans=0;
        dfs(0,0);
        printf("%d\n",ans);
    }
    return 0;
}


Output

相關推薦

2017上海程式設計競賽 C Count the Number

Time Limit: 3 s Description Given n numbers, your task is to insert '+' or '-' in front of each number to construct expressions. Not

2017上海程式設計競賽 BSailing

Time Limit: 1 s Description Handoku is sailing on a lake at the North Pole. The lake can be considered as a two-dimensional square plan

2017上海程式設計競賽 EFind Palindrome

Time Limit: 1 s Description Given a string S, which consists of lowercase characters, you need to find the longest palindromic sub-

2017上海程式設計競賽Problem A : STEED Cards

Time Limit: 1 s Description Corn does not participate the STEED contest, but he is interested in the word "STEED". So, Corn writes all permutations of t

2017上海程式設計競賽Find Palindrome

Description Given a string S, which consists of lowercase characters, you need to find the longest palindromic sub-string. A sub-string

2017上海程式設計競賽(網上資格賽)J : Raising Bacteria

Time Limit: 1 s Description You are a lover of bacteria so you want to raise some bacteria in a box. Initially, the box is empty. Every morning, you can

2017上海程式設計競賽 Problem C : Count the Number

Problem C : Count the Number Time Limit: 3 s Description Given n numbers, your task is to insert ‘+’ or ‘-’ in front of each num

2018年上海程式設計競賽 Problem O : ±1 Matrix

Time Limit: 5 sDescriptionA matrix in mathematics is a rectangular array of numbers arranged in rows and columns. Given an n×m matrix A and an m×k matrix B

2018年上海程式設計競賽 E題

題目DescriptionHere is an n×m grid, which is made up of 1×1 lattices. You can find many rectangles with different sizes in the grid. Can you

2017上海 購買裝備 貪心+二分Check

購買裝備 釋出時間: 2017年7月9日 18:17   最後更新: 2017年7月9日 21:05   時間限制: 1000ms   記憶體限制: 128M 描述 最近盛大的一款遊戲傳奇世界極其火爆。遊戲玩家John,想購買遊戲中的裝備。已知遊戲的商店裡有n件

2017上海程序設計競賽

ear lld iter style double top != -1 bre A STEED 這個字符串可以任意變換位子 找到第n個 深搜 遍歷所有可能字符串 然後放到set維護 第n個就可以了 #include<stdio.h> #include&l

2017Summmer_上海 F題,G題,I題,K題

sum 組隊 時序 而且 sizeof bit 屬性排序 print 浪費 以下題目均自己搜 F題 A序列 一開始真的沒懂題目什麽意思,還以為是要連續的子串,結果發現時序列,簡直智障,知道題意之後,好久沒搞LIS,有點忘了,復習一波以後,直接雙向LIS,處理處兩個數組L和

第十六屆上海大學程式設計聯賽春季賽暨上海高校賽 題解

【題目連結】 模擬。從左往右填充每一個,如果某一個格子不足,需要從右邊離他最近的有盈餘的格子裡拿一些來填充;如果某一個格子有盈餘,那麼多餘部分往右扔過去。 /******************************* Judge Result : AC ***********

“盛大遊戲杯”第15屆上海大學程式設計聯賽夏季賽暨上海高校賽-神無月排位賽

《神無月》作為盛大遊戲2017年的全新原創大作,其開發團隊在自研實力強大的傳世工作室基礎之上,還有美樹本晴彥等日本一線知名畫師及日本遊戲音樂大師崎元仁加盟參與制作。目前正在不限號內測中,有很多玩家進入到神無月的世界中。 在神無月中,有著玩家之間切磋的排位賽,其段位主要分為五大段位,從低到高依次為:新兵、菁英

埃森哲杯第十六屆上海大學程式設計聯賽春季賽暨上海高校賽 EALFID

Ehttps://www.nowcoder.com/acm/contest/91/E按照題意 打個表 發現答案是2的n次方#include<bits/stdc++.h> using namespace std; int main(){ int n;

SHU-“盛大遊戲杯”第15屆上海大學程式設計聯賽夏季賽暨上海高校賽-H-調和序列

ACM模版 描述 題解 暴力篩法預處理,注意坑點是,K 可能很大,大到比 n 還大,但是此時,序列中依然是有東西的,就是 A[0],也就是說,當訪問的 K 很大時,這個子序列中至少有一

埃森哲杯第十六屆上海大學程式設計聯賽春季賽暨上海高校賽B合約數

題目描述 在埃森哲,員工培訓是最看重的內容,最近一年,我們投入了 9.41 億美元用於員工培訓和職業發展。截至 2018 財年末,我們會在全球範圍內設立 100 所互聯課堂,將互動科技與創新內容有機結合起來。按崗培訓,按需定製,隨時隨地,本土化,區域化,

【快速冪公式】“盛大遊戲杯”第15屆上海大學程式設計聯賽夏季賽暨上海高校賽-新增好友

新增好友 時間限制: 1000ms   記憶體限制: 128M 描述 Tony最近喜歡上了龍之谷遊戲,所以他想叫上他的好友組建一個公會來一起享受這款遊戲。 Tony一共有n個好友,他可以叫上

埃森哲杯第十六屆上海大學程式設計聯賽春季賽暨上海高校賽 A

時間限制:C/C++ 1秒,其他語言2秒 空間限制:C/C++ 131072K,其他語言262144K 64bit IO Format: %lld 題目描述 最近對抗生成網路(GAN)很火,其中有一種變體WGAN,引入了一種新的距離來提高生成圖片的

戰鬥“盛大遊戲杯”第15屆上海大學程式設計聯賽夏季賽暨上海高校

戰鬥 釋出時間: 2017年7月9日 20:20   最後更新: 2017年7月10日 21:11   時間限制: 2000ms   記憶體限制: 128M 描述 最近,盛大計劃開發一款手遊,