본문 바로가기
코테

백준 1940번-주몽

by arirang_ 2023. 8. 25.

 

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

 

1940번: 주몽

첫째 줄에는 재료의 개수 N(1 ≤ N ≤ 15,000)이 주어진다. 그리고 두 번째 줄에는 갑옷을 만드는데 필요한 수 M(1 ≤ M ≤ 10,000,000) 주어진다. 그리고 마지막으로 셋째 줄에는 N개의 재료들이 가진 고

www.acmicpc.net

#include <bits/stdc++.h>
using namespace std;
int gabot[15003], n, m, cnt;
int main(){
	cin >> n >> m;
	
	//갑옷 번호 넣기 
	for(int i=0; i<n; i++){
		cin >> gabot[i];
	}
	
	for(int i=0; i<n; i++){
		for(int j = i+1; j<n; j++){
			int sum = gabot[i] + gabot[j];
			
			if(sum == m){
				cnt++;
			}
		}
	}	
	cout << cnt;
		
	return 0;
}

n개의 재료 중에서 2개를 뽑는 경우이므로 조합을 사용하면 된다.

조합은 3개까지는 중첩 for문을 이용해도 된다!!

 

[조합 부분]

for(int i=0; i<n; i++){
		for(int j = i+1; j<n; j++){
			int sum = gabot[i] + gabot[j];
			
			if(sum == m){
				cnt++;
			}
		}
	}

 

※참고

if(m>2000000) cout << 0 << "\n";

이 코드를 추가하여 시간 초과가 타이트했을 때를 대비할 수 있다. (예외처리)

 

 

'코테' 카테고리의 다른 글

[stack]백준 10828번 - 스택  (0) 2023.10.01
백준 3986번 - 좋은 단어  (1) 2023.08.25
백준 1213번 - 팰린드롬 만들기  (0) 2023.08.24
백준 1620 - 나는야 포켓몬 마스터 이다솜  (0) 2023.08.24
백준 2559번 - 수열  (0) 2023.08.22