백준 1940

HR·2022년 4월 7일
0

Algorithm

목록 보기
2/3

백준 1940 : 주몽

  1. N개 중 2개를 뽑는 조합 (nC2)로 두개를 뽑는다
  2. 두 수의 합이 M인지 확인
  3. 맞으면 count 값을 증가

코드

#include <iostream>
#include <vector>

using namespace std;

int N, M, a[15001];
vector<int> v;
int ans;

void combi(int start, vector<int> v) {
	if(v.size() == 2) {
		if(a[v[0]]+a[v[1]] == M) {
			ans++;
		}
		return;
	}
	for(int i=start+1; i<N; i++) {
		v.push_back(i);
		combi(i, v);
		v.pop_back();
	}
	
	return;
}

int main() {
	ios_base::sync_with_stdio(false);
	cin.tie(NULL);
	cout.tie(NULL);
	
	cin>>N>>M;
	for(int i=0; i<N; i++) {
		cin>>a[i];
	}
	
	combi(-1, v);
	
	cout<<ans<<"\n";
	
	return 0;
}

시간 초과가 났다..

0개의 댓글