PC/UVa ID : 110206/10044


사설

문제 풀기는 한 2주 쯤 된거 같다. 에르되시 수를 풀기 위해선 "최단 경로" 알고리즘이 필요 했기에 이 부분이 제일 막혔다. 1주 가량 지하철을 타오면서 실마리를 풀어서, 바로 코딩 작업에 착수 해서 완성하였다.

실마리는 "한번 갔던 길은 되돌아 가지 않고, 갈 수 있는 길로 계속 가면 된다." 아직 이 방법밖에 모르겠으므로, 다른 문제 풀때 한번 알아보자.


개요

에르되시 수 부터 알아야 하는데, 책보다는 에르되시의 수 에서 한번 보길 권한다. 쉽게 설명하면, 에르되시와 같이 논문 쓰면 에르되시의 수는 1이다. 만약 에르되시 수 1인 사람과 같이 논문을 썻다면 나는 에르되시의 수 2가 된다. 마찬가지로 2인 사람과 같이 논문을 썻다면 나는 3이 된다.

입력

  1. 첫째 행에는 시나리오 갯수가 들어간다. 각 시나리오에는 논문 데이터베이스와 이름 목록으로 구성 된다.
  2. 첫째 행 뒤에는 P와 N이라는 자연수를 입력 받는다. P는 논문의 수이고, N은 에르되시 수를 알고 싶은 사람들의 수이다.
  3. 그 다음 줄에는 논문 데이터 베이스가 입력 되며, 이때 저자도 같이 다음의 양식으로 입력 된다.
    Smith, M.N., Martin, G., Erdos, P.: Newtonian forms of prime factor matrices
    Erdos, P., Reisig, W.: Stuttering in petri nets
  4. 3번의 입력이 끝나면, 에르되시 수를 알고 싶은 사람의 이름을 N 개 만큼 입력 받는다.

출력

  1. 백문의 불허 일견, 링크로 대체한다.
    http://www.programming-challenges.com/pg.php?page=downloadproblem&probid=110206&format=html





느낀점

  1. 주석은 반드시 달자
  2. 변수명은 오래 생각해도 되니, 꼭 잘 정하자
  3. 함수로 뺼 수 있으면 함수로 빼자
  4. 끝까지 놓지 말자, 반드시 풀릴테니까.


posted by 농사를 짓는 게임 프로그래머 최익필

댓글을 달아 주세요

  1. Favicon of https://www.ikpil.com 농사를 짓는 게임 프로그래머 최익필 2009.12.08 01:02 신고  Addr  Edit/Del  Reply

    더 좋은 방법이 있을것 같으나, 생각이 떠오르지 않는다. 에르되시로 부터 해당 유저를 찾아 가는게 더 편할래나..