Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- chapter02
- 인공지능
- 1차예선
- 5397번
- MySQL
- Perceptron Convergence theorem
- 근구하기
- 선형분류
- 스터디
- 델타 rule
- Numerical optimization
- chapter01
- 자바ORM표준JPA프로그래밍
- 2018
- 알고리즘
- directed graphical model
- bisection
- vector미분
- secant
- falsePosition
- 개발순서
- graphical models
- Fisher discriminant analysis
- SCPC
- 이것이 MySQL이다
- 알고리즘대회
- 선형판별분석
- CH01
- 로지스틱 회귀
- undirected graphical model
Archives
- Today
- Total
computer_study
[완전탐색] BAEKJOON 2798번 '블랙잭' 문제 본문
문제 : www.acmicpc.net/problem/2798
문제에서 총 카드의 수가 최대 100개이므로, 완전 탐색을 위해 3중 for문을 사용하면 time complex는 1000000정도 된다.
제한시간이 1초이고, python은 1초에 2천만개의 계산 c++는 1초에 반복문 1억번 까지는 충분하므로 이 문제는 완전탐색으로 해결할 수 있다.
- 파이썬 코드
n,m = list(map(int, input().split(' ')))
arr = list(map(int, input().split(' ')))
length = len(arr)
result = 0;
for i in range(0, length):
for j in range(i+1, length):
for k in range(j+1, length):
sum = arr[i] + arr[j] + arr[k]
if sum <= m:
result = max(sum , result)
print(result)
- c++ 코드
#include <iostream>
#include <vector>
using namespace std;
int main(){
int n,m,tmp,sum,max=0;
vector<int> v;
cin >> n >> m;
for(int i = 0 ; i< n ; i++){
cin >> tmp;
v.push_back(tmp);
}
for(int i = 0 ; i< n ; i++){
for(int j = i+1 ; j< n ; j++){
for(int k = j+1 ; k< n ; k++){
sum = v[i] + v[j] + v[k];
if(max < sum && sum <= m)
max = sum;
}
}
}
cout << max << endl;
return 0;
}
'알고리즘 > 문제풀이' 카테고리의 다른 글
[해시/배열] BAEKJOON 1920번 '수 찾기'문제 (C++/python) (0) | 2020.08.03 |
---|---|
[스택/구현] BAEKJOON 5397번 '키로거'문제(c++/python) (0) | 2020.08.01 |
[Queue/구현] BAEKJOON 1966번 '프린터 큐'문제(c++/python) (0) | 2020.07.31 |
[스택/그리디] BAEKJOON 1874번 '스택 수열 '문제 (c++/python) (0) | 2020.07.26 |
[배열] BAEKJOON 2920번 '음계'문제 (0) | 2020.07.25 |
Comments