minhye11   4년 전

map을 통해 자료를 받아서 scc를 생성해주었고,

scc간에는 점수가 똑같아서 각 scc를 기준으로 한 connect배열을 만들어주었습니다.

그리고 위상정렬을 이용하여 점수를 계산해준것인데 왜 틀렸는지 도무지 모르겠습니다..

도와주세요 ㅠㅠ

kdr06006   4년 전

같은 SCC 그룹이라고 전부 다 같은 점수가 아닙니다.

4
A 2 B C
C 1 D
D 1 A
E 2 C D
C

답 : 1

output : 2

다른 SCC인 정점이 간선을 통해서 들어올 때만 점수를 부여해야합니다.

minhye11   4년 전

헐... 그 부분도 의심하긴 했는데....

근데 문제를 다시 읽어봐도 링크가 직접 주어져야 한다는 말이 없어서요...

아닌가요ㅠㅠ 제가 문제를 잘못 이해한건가요?

kdr06006   4년 전

점수를 더해주는건 "웹사이트 A에 웹사이트 B로 가는 링크가 있다면, 웹사이트 B의 점수에 웹사이트 A의 점수를 더한다." 일 때 입니다.

여기서 추가조건으로 사이클이 생기면 점수를 더하지 않는다는 조건이지 같은 그룹이라고 무조건 같은 점수이진 않습니다.

C로 들어오는 다른 SCC그룹의 정점은 안들어오니 1점입니다.

minhye11   4년 전

이런 웹사이트에 점수를 매기는 일이 어려운 이유는 바로, 링크를 교환하는 사이트 들이 있기 때문이다. 이 말은 A가 B를 링크하고, B가 A를 링크하는 것이다. 따라서, 이런 현상으로 점수가 무한대로 늘어나는 것을 방지하기 위해서, A의 점수를 B에 더할 때는, B에서 A로의 링크가 직접적으로 또는 간접적으로 없을때이다.


여기서 B가 A를 링크하는것 = B에서 A로의 링크가 직접적으로 또는 간겁적으로 존재하는 것

으로 판단을 했거든요...

문제의 표현이 애매하다고 볼 순 없는걸까요?

kdr06006   4년 전

정점 C를 기준으로 볼 때는 그런 간선이 하나도 없습니다.

그래서 1점입니다.

minhye11   4년 전

아 그러니까 주신 예제에서는

B->C로 가는 직접 링크는 없지만, B->A->D->C 인 간접 링크가 있어서, 링크가 있으니까 점수를 줘야겠다고 판단할 여지가 있다고 생각해서요.

그래서 직접 링크라고 명시해야하는것이 아닐까 생각했습니다.

minhye11   4년 전

어쨌거나 이 문제는 푸신 분이 별로 안계셔서 답을 못받을거라 생각했는데..

빠르게 피드백도 주시고 너무 감사드립니다ㅠㅠ 흑흑

wogudwkd12   7달 전

아 저도 똑같은 이유로 헤매고 있었네요. 지문이 되게 모호한거 같습니다.


A의 점수를 B에 더할 때는, B에서 A로의 링크가 직접적으로 또는 간접적으로 없을 때이다

이 지문만 보면 여러 단계 넘어서도 점수가 전파되야 하는건가? 하는 생각이 들 수 있는거 같네요.

댓글을 작성하려면 로그인해야 합니다.