게시판 즐겨찾기
편집
드래그 앤 드롭으로
즐겨찾기 아이콘 위치 수정이 가능합니다.
알고리즘 문제를 모르겠어요 ㅠㅠ
게시물ID : programmer_11280짧은주소 복사하기
작성자 : 처음같은마음
추천 : 0
조회수 : 482회
댓글수 : 20개
등록시간 : 2015/06/15 15:33:54

아.. 풀 수 있다고 생각했는데.. 5시간 동안 뭐가 문제인지 모르겠어요.. 허ㅓ....
고수님들 도와주세요


3131.png


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
#include <iostream>
using namespace std;
 
int n, s, cnt;
int arr[1000];
 
void dfs(int idx, int sum)
{
    if (idx > n) return;
    if (sum > s) return;
    if (sum == s) {
        ++cnt;
        return;
    }
 
    dfs(idx + 1, sum + arr[idx]);
    dfs(idx + 1, sum);
}
 
int main()
{
    cin >> n >> s;
    for (int i = 0; i < n; i++cin >> arr[i];
 
    for (int i = 0; i < n - 1; i++)
        for (int j = i + 1; j < n; j++)
            if (arr[i] > arr[j])
                swap(arr[i], arr[j]);
 
    dfs(00);
    cout << cnt << endl;
    return 0;
}
cs


저는 이렇게 했거든요 ..;;
어디서 구멍이 난건지요;;
https://www.acmicpc.net/problem/1182
전체 추천리스트 보기
새로운 댓글이 없습니다.
새로운 댓글 확인하기
글쓰기
◀뒤로가기
PC버전
맨위로▲
공지 운영 자료창고 청소년보호