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 |