티스토리 뷰
//
// 2309_SevenDwarfs.cpp
// 2309_SevenDwarfs
//
// Created by Eon on 3/22/19.
// Copyright © 2019 Eon. All rights reserved.
//
/*
https://www.acmicpc.net/problem/2309
백준 2309번 일곱난쟁이
브루트포스 유형의 문제
모든경우의수를 모두 구하는 문제
이중 for문 안에 for문이 하나더 존재하지만 이for문은 딱 한번만 실행되므로 O(N^2)
*/
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
void printVectorDatasWithoutTwoIndexes(vector<int>& a_vector, int a, int b) {
for (int i=0; i<a_vector.size(); i++) {
if(i == a || i == b)
continue;
else
cout << a_vector.at(i) << endl;
}
}
int main(void) {
const int n = 9; //난쟁이의 수.
int sum = 0;
vector<int> dwarfs; //난쟁이들의 키를저장하는 백터 생성.
//1.입력받기
int temp;
for (int i=0; i<n; i++) {
cin >> temp; //사용자로부터 난쟁이들의 키를 입력받음.
dwarfs.push_back(temp); //vector에 넣음.
sum += dwarfs[i]; //입력과 동시에 키의 TOTAL을 더하여 저장.
}
//2.정렬하기
sort(dwarfs.begin(), dwarfs.end()); //오름차순 sort (default가 오름차순이므로 세번째 파라미터인 비교함수 필요없음.)
//3.부루트포스(모든 경우의 수 계산)
for (int i=0; i<n; i++) {
for (int j=i+1; j<n; j++) {
if(sum - dwarfs[i] - dwarfs[j] == 100) { //i, j인덱스를 뺴고 100으로 딱떨어진다면(정답을 찾음)
printVectorDatasWithoutTwoIndexes(dwarfs, i, j); //두개 인덱스뺀 나머지 프린터하기
}
}
}
return 0;
}
'알고리즘' 카테고리의 다른 글
1098 : [기초-종합+배열] 설탕과자 뽑기 (0) | 2019.06.07 |
---|---|
1097 : [기초-종합+배열] 바둑알 십자 뒤집기 (0) | 2019.06.07 |
백준 2339번 설탕배달 (0) | 2019.02.28 |
백준 - 14502 연구소 (0) | 2019.02.15 |
백준 10845번, 간단한 Queue 구현 C++ (0) | 2019.01.12 |
- Total
- Today
- Yesterday
- 알고리즘
- 문제
- 슈어
- 산업화
- 맥
- C++
- eclipse
- 외장그래픽
- 모바일 프로그래밍
- 이클립스
- 카카오톡
- 개발
- se846
- 프로그래밍
- Java
- 코딩
- 코드업
- egpu
- 우분투
- 환경오염
- 맥북
- 자바
- 백준
- 파이썬
- python
- NAS
- 아키티오
- 서버
- Vega64
- CodeUp
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |