백준 1182 - 부분수열의 합

2020. 3. 28. 10:59·Algorithms/BOJ

https://www.acmicpc.net/problem/1182

 

1182번: 부분수열의 합

첫째 줄에 정수의 개수를 나타내는 N과 정수 S가 주어진다. (1 ≤ N ≤ 20, |S| ≤ 1,000,000) 둘째 줄에 N개의 정수가 빈 칸을 사이에 두고 주어진다. 주어지는 정수의 절댓값은 100,000을 넘지 않는다.

www.acmicpc.net

문제 설명


N개의 정수로 이루어진 수열이 있을 때, 크기가 양수인 부분수열 중에서 그 수열의 원소를 다 더한 값이 S가 되는 경우의 수를 구하는 프로그램을 작성하시오.(N과 정수 S가 주어진다. (1 ≤ N ≤ 20, |S| ≤ 1,000,000) )

 

 

접근 방식


처음부터 하나씩 더해가면서 합의 모든 경우의 수를 구하면서 합이 같은 경우 카운트를 증가시킨다. 완탐 또는 Broute force를 이용한다.

 

 

코드


#include <iostream>
#include <vector>
#include <algorithm>

using namespace std;
int n,s;
int cnt=0;
int arr[21];
void bf(int start,int sum){
    for(int i=start+1;i<n;i++){
        int temp_sum=0;
        temp_sum=sum+arr[i];
        //합의 다음 항목을 더하기 전에 주어진 합과 같으면 카운트 증가
        if(temp_sum==s)cnt++;
        //각각의 모든 경우의 합을 완탐으로 계산한다.
        bf(i,temp_sum);
    }

}
int main(){
    cin>>n>>s; 
    for(int i=0;i<n;i++) cin>>arr[i];
    for(int i=0;i<n;i++){
        //합이 주어진 합의 수와 같으면 카운트 증가
        if(arr[i]==s)cnt++;
        bf(i,arr[i]);
    }
    cout<<cnt<<"\n";
    return 0;
}

funny algorithm *0* ~

'Algorithms > BOJ' 카테고리의 다른 글

백준 3053 - 택시 기하학  (0) 2020.03.30
백준 14889 - 스타트와 링크  (0) 2020.03.29
백준 1966 - 프린트 큐  (0) 2020.03.28
백준 14888 - 연산자 끼워넣기  (0) 2020.03.24
백준 7568 - 덩치  (0) 2020.03.24
'Algorithms/BOJ' 카테고리의 다른 글
  • 백준 3053 - 택시 기하학
  • 백준 14889 - 스타트와 링크
  • 백준 1966 - 프린트 큐
  • 백준 14888 - 연산자 끼워넣기
dev.wookii
dev.wookii
Effort Maketh Happiness
  • dev.wookii
    습관처럼
    dev.wookii
  • 전체
    오늘
    어제
    • 분류 전체보기 (295)
      • Language (35)
        • python (13)
        • C++ (22)
      • Kaggle (4)
      • Algorithms (112)
        • BOJ (58)
        • programmers (43)
        • SWExpertAcademy (2)
      • Certification (38)
        • Adsp (0)
        • Sqld (28)
        • 정처기 (9)
        • 빅데이터 분석기사 (0)
      • Data Analysis & ML (6)
      • 금융 & 디지털 (65)
      • CS (32)
        • DB (2)
        • SE (3)
        • Web&JSP (1)
        • Network (11)
        • OS (2)
        • Linux&Unix (6)
        • Server (1)
        • UX,UI (1)
        • 보안 (5)
      • 기타 (0)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    2020 KAKAO
    funny algorithms
    Ebay korea #coding test
    시뮬레이션
    programmers
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
dev.wookii
백준 1182 - 부분수열의 합
상단으로

티스토리툴바