Problem 99 : Broken Necklace
http://fitzsimmons.ca/beads.html


파란색과 빨간색의 구슬로 이루어진 목걸이가 있다.
목걸이를 특정 지점에서 끊어서, 끊어진 목걸이의 양쪽 끝에서
다른 색의 구슬을 발견할 때 까지 구슬의 개수를 세어나간다.
그렇게해서 얻을 수 있는 최대의 구슬 개수를 찾는 것이 목표이다.
흰색 구슬이 나올 수도 있는데 이 구슬은 원하는 색으로 칠할 수 있다.

풀이 방식 :
목걸이의 구슬별로 잘라서 Circular Doubly Linked List로 만들고,
For 문을 돌려 각 구슬 별로 돌아가면서 해당 구슬을 기준으로 삼아서 목걸이를 끊고,
모든 경우를 고려하였다.

by 알 수 없는 사용자 2007. 7. 4. 20:10

Problem B : Digit Generator
http://acm.kaist.ac.kr/Problems/2005b.pdf

풀이

입력받은 수의 자리수만큼(216이면 3)
9를 곱한다음 입력수에 뺀다음
그 수부터 입력수까지 순환문을 돌리며 확인한다

각 자리수를 합하는건 대충 이런식?
for (i=ciphers-1; i>0; i--){
   result += (loop / (int)pow(10, i)) ;
   temp = (loop / (int)pow(10, i)) ;
   loop = loop - temp*(int)pow(10, i);
}
이런식의 계산법은 다들 외워두면 좋을듯
더 나은방법 있으면 알려주고!

소스 :

by 알 수 없는 사용자 2007. 7. 4. 19:48
| 1 |