굥뷰를 햡시댜
[BOJ-1940] 주몽 본문
https://www.acmicpc.net/problem/1940
음... dfs를 이용해 조합으로 풀었다.
히든 케이스가 상당히 빈약한듯 하다
다른 방법이 정해일 것 같은데 한 번에 통과해서 놀랐다.
#define _CRT_SECURE_NO_WARNINGS
#include <iostream>
#include <vector>
using namespace std;
int n, m, res;
vector<int> vec, sel;
void dfs(int n) {
if (sel.size() == 2) {
if (sel[0] + sel[1] == m) {
res += 1;
}
return;
}
for (int i = n; i < vec.size(); i++) {
sel.push_back(vec[i]);
dfs(i + 1);
sel.pop_back();
}
}
int main(void) {
scanf("%d", &n);
scanf("%d", &m);
for (int i = 0, temp; i < n; i++) {
scanf("%d", temp);
vec.push_back(temp);
}
dfs(0);
printf("%d\n", res);
getchar();
getchar();
return 0;
}
'알고리즘 문제 풀이 > BOJ 문제 풀이' 카테고리의 다른 글
[BOJ - 2234] 성곽 (0) | 2019.09.30 |
---|---|
[BOJ - 17472] 다리 만들기2 (0) | 2019.09.30 |
[BOJ - 16637] 괄호 추가하기 (0) | 2019.08.23 |
[BOJ - 17406] 배열 돌리기 4 (0) | 2019.08.17 |
[BOJ-17281] 야구 (0) | 2019.08.16 |
Comments