기술 블로그

18859번 부모님께 큰절 하고 본문

알고리즘 문제/BOJ

18859번 부모님께 큰절 하고

parkit 2020. 4. 6. 17:13
728x90
반응형

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




onjo0127님의 반례 덕분에 맞았다.



6

1 2 3 4 7 10

정답 : Yes

예시 : 3 2 1 4 7 10



아이디어 : 


multiset을 통해 vector sort를 활용한다.


입력을 통해 multiset과 vector에 데이터를 넣는다.(입력으로 주어지는 것들)


vector v를 오름차순 sort를 한 후, 공차(d)를 구한다. d = v[1] - v[0];


그리고, multiset을 통해 어떤 한 수열을 구한다. 


구하는 방식은 Start = v[0] + d를 놓고, Start += d를 해주면서 multiset에 Start가 있으면 multiset에서 제거해준다.


즉, 공차가 d인 수열은 모두 제거된 것이다.(첫 원소(v[0])는 아직 multiset안에 있다.)


하지만 이때, 또 다른 multiset2에 multiset을 넣고, 마지막으로 제거된 원소를 multiset2에 넣는다.


이 문제의 유일한 반례이기 때문이다.(맨 위 반례)


그리고 multiset, multiset2에 있는 원소들도 등차수열을 이루는지 검사하면 된다.



728x90
반응형

'알고리즘 문제 > BOJ' 카테고리의 다른 글

2033번 반올림  (0) 2020.04.09
2891번 카약과 강풍  (0) 2020.04.07
17281번 ⚾  (0) 2020.04.03
6236번 용돈 관리  (0) 2020.04.02
1802번 종이접기  (0) 2020.03.31