문제 40, 모든 쌍의 합, Pairsumonious Numbers, PC/UVa ID : 110508/10202, 인기도 : B, 성공률 : 높음, 레벨 : 4
이 포스트를 만든 목적
- 생각 절차, 푼 방법, 고민거리 등을 기록하기 위해서 만들었다.
이 포스트의 준비물
- Mozila Firefox 5.0
- eclipse 3.6.1 + vrapper
- java
참조 문헌
- 스티븐 스키에나, 미구엘 레비야 저. Programming Challenges: 알고리즘 트레이닝 북. 서환수 역.
Springer. 한빛미디어 초판 2쇄 2004.12.05. (문제 40, 모든 쌍의 합, Pairsumonious Numbers, p.161)
참조 링크
- http://plg1.cs.uwaterloo.ca/~acm00/010929/B.htm -- 문제 원문
- http://uva.onlinejudge.org/index.php?option=onlinejudge&page=show_problem&problem=1143 -- 문제 원문
간략한 이야기/프로그램의 입출력
10 > n > 2 의 n이 주어졌을 때, n개의 정수들의 모든 쌍의 합의 갯수는 n(n-1)/2 이다. 이런 쌍의 합들이 n(n-1)/2 개 주어졌을 때, 합을 만들 수 있는 n개의 정수를 찾아라.
- 각 입력 라인은 스페이스로 구분된 n과 n(n-1)/2 개의 정수 두개를 받는다.
출력
- 합을 만들 수 있는 n 개의 정수를 오림차 순으로 각 입력 라인당 한 라인에 출력하라.
- 만약 한개 보다 더 많이 답이 있을 경우, 답 중 아무거나 출력하라.
- 답이 없을 경우, "impossible"을 출력하라.
맛보기 사진
- 좀 더 쉬운 방법이 있을거 같다는 생각이 든다.
- 가우스 소거법에서 아이디어를 얻어 풀었는데, 이게 보다 쉽게 푸는것을 방해한 것일 수 있다.
- 백트래킹을 좀 더 최적화 할 수 있을것 같으나, 능력이 부족하다.
:wq!
최근댓글