하앍하앍.
원래 리스트와 셋을 이용해 처리하려 했습니다만,
이 빌어먹을 UVa는 .end()로 얻는 포인터에서 --연산으로 뒤에서부터 하나씩 전진해오면 RE가 뜨는군요.
이 풀이는 단순합니다.
일단 여기선 귀찮아서 int형으로 해뒀는데,
pos배열처럼 bool형으로 된 크기 n(동전 가치 총합)의 배열을 만듭니다.
이후, 각 동전 가치 부분은 당연히 2명이 나눠가질 수 있는 분할을 만들 수 있고
거기에 두세개 이상의 동전을 합했을때 나눠지는 경우까지 모두 이 pos 배열에 저장해서
그 분할되는 지점만을 true로 둡니다.
이후, half(정 중앙 지점)에서부터 양쪽 어디든지 가장 가까운 true를 찾아내어서
그 때의 두 수의 차이를 출력하면 문제는 해결됩니다.
'Solutions > Dlbo's Solution' 카테고리의 다른 글
PKU 3589. Number-guessing Game. AC get -_- (1) | 2010.02.03 |
---|---|
PKU 1989. The Cow Lineup, AC get -_-;; (0) | 2010.01.30 |
PKU 3224. Go for lap Cup! AC get -_- (2) | 2010.01.14 |
PKU 3372. Candy Distribution. AC get -_- (0) | 2010.01.14 |
PKU 1547. Clay Bully. AC get. (0) | 2009.10.19 |