[http://online-judge.uva.es/p/v100/10044.html 원문보기]
----
인기도:B(A,B,C), 성공률:낮음(낮음,보통,높음), 레벨:2(1~4)
=== About [ErdosNumbers] ===
헝가리 출신의 수학자 폴 에르되시(Paul Erdos, 1913-1996)는 20세기의 가장 유명한 수학자 가운데 하나로 꼽힌다. 에르되시와 함께 논문을 쓴 경험이 있는 수학자들도 존경을 받을 정도니 그의 명성을 짐작할 수 있을 것이다.
하지만 불행하게도 모든 사람들이 그와 함께 논문을 쓸 기회를 얻을 수 있는 것은 아니었기 때문에 에르되시와 함께 논문을 썼던 사람과 논문을 같이 쓰는 정도로 만족해야 했다. 이런 이유로 인해 에르되시 수라는 것이 생겼다. 에르되시와 함께 논문을 쓴 사람의 에르되시 수는 1이다. 에르되시와 직접 함께 눈문을 쓰진 않았지만 에르되시 수가 1인 사람과 함께 논문을 쓴 적이 있는 사람의 에르되시 수는 2다.
주어진 논문과 논문 저자를 바탕으로 에르되시 수를 계산하는 프로그램을 만들어야 한다.
=== Input ===
입력의 첫번째 행에는 시나리오 개수가 들어있다. 각 시나리오는 논문 데이터베이스의 이름의 목록으로 구성된다. 각 시나리오의 첫번째 줄에는 P와 N이라는 자연수 두 개가 입력된다. 그 다음 줄에는 논문 데이터베이스가 입력되며 각 논문마다 한 줄씩 저자에 대한 정보가 입력된다. 각 논문에 대한 정보는 다음과 같은 식으로 기술된다.
''Smith, M.N., Martin, G., Erdos, P.: Newtonian forms of prime factors matrices''
P개의 논문 정보 밑에는 각각 하나씩의 이름이 들어있는 N개의 행이 입력된다. 이름은 다음과 같은 형식으로 입력된다.
''Martin, G.''
=== Output ===
각 시나리오에 대해 "Scenario i"(i는 시나리오 번호)라는 내용이 들어있는 행을 우선 출력한다. 그 다음 줄부터는 입력된 모든 이름에 대해 이름과 에르되시 수를 출력한다. 저자의 이름은 입력된 순서대로 출력된다. 에르되시 수는 시나리오에 들어있는 논문 데이터베이스를 기반으로 계산한다. 데이터베이스에 있는 논문으로 볼 때 에르되시와 전혀 관계가 없는 저자들의 에르되시 수는 "infinity"로 출력한다.
=== Sample Input ===
{{{~cpp
1
4 3
Smith, M.N., Martin, G., Erdos, P.: Newtonian forms of prime factor matrices
Erdos, P., Reisig, W.: Stuttering in petri nets
Smith, M.N., Chen, X.: First oder derivates in structured programming
Jablonski, T., Hsueh, Z.: Selfstabilizing data structures
Smith, M.N.
Hsueh, Z.
Chen, X.
}}}
=== Sample Output ===
{{{~cpp
Scenario 1
Smith, M.N. 1
Hsueh, Z. infinity
Chen, X. 2
}}}
=== 풀이 ===
|| 작성자 || 사용언어 || 개발시간 || 코드 ||
|| 차영권 || C++ || 6시간 || [ErdosNumbers/차영권] ||
|| 황재선 || Java || 4시간 || [ErdosNumbers/황재선] ||
|| 임인택 || Python || 1시간 20분 || [ErdosNumbers/임인택] ||
|| 문보창 || C++ || . || [ErdosNumbers/문보창] ||
|| [조현태] || C++ || . || [ErdosNumbers/조현태] ||
=== 쓰레드 ===
Link..라는 책이 생각나는군요. 에르도스 넘버... - [임인택]
----
[문제분류] [AOI]