반응형
백준 BOJ 알고리즘 오답노트 - 10819 번
백터의 초기 크기값은 그 값을 보장하지 못한다. !!
백터를 만들때 인자값으로 5를 넘기면 크기가 5인 백터가 만들어진다고 배웠는데
막상 해보니까 크기가 더 컸다. 7인가?
그래서 백터를 생성할때 크기를 넣지 않고 push_back을 여러번 사용하며 직접 늘리는 방법으로 했다.
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 29 30 31 32 33 34 35 36 37 | //10819 #include<iostream> #include<vector> #include<algorithm> using namespace std; int cal(vector<int>& a){ int result = 0; for(int i = 0; i < a.size()-1; i++){ result+=abs(a[i]-a[i+1]); } return result; } int main(){ int ans = 0 ; int n; cin>>n; vector<int> v; for(int i = 0; i< n ; i++){ int tmp; cin>>tmp; v.push_back(tmp);} sort(v.begin(),v.end()); do{ int tmp = cal(v); // cout<<tmp<<"\n"; if(tmp > ans) ans = tmp; }while(next_permutation(v.begin(),v.end())); cout<<ans<<"\n"; return 0; } //FB1. //실패 - 왜 무한 루프 그지같이 도는거지? //백터에 기본 크기값을 주니까 내가 원하는 n보다 큰 값이 들어가서 다음순열이 그냥 x되버려 | cs |
반응형
'알고리즘 > 백준[BOJ] 오답노트' 카테고리의 다른 글
C++ rotate 함수 - 백준 알고리즘 오답노트 10812 (0) | 2019.03.02 |
---|---|
C++ 파일의 끝 직접 입력하기 - 백준 알고리즘 오답노트 1152 (0) | 2019.03.02 |
C++ cin/cout 입출력 성능 개선 - 백준 알고리즘 오답노트 15552 (0) | 2019.02.02 |
C++cin/cout 시간초과 해결 - 백준 알고리즘 오답노트 10815 (0) | 2019.02.02 |
C++ stack 활용 애디터 - 백준 알고리즘 오답노트 1406 (0) | 2019.02.02 |