2개의 댓글이 있습니다.
-
-
chaos.kite -
- i번회의 j번회의 각각 i,~i j,~j의 두정점으로 표현됩니다 adj.resize(vars*2);도 같은 이유입니다
- 1번과 같은 이유
- 3 = ~(1번회의), 0 = (0번회의) 즉, 1번회의가 false이면 0번회의는 true이다 입니다 위 code에서 i가 1, j가 0인 경우네요
9년 전 link
-
-
정회원 권한이 있어야 커멘트를 다실 수 있습니다. 정회원이 되시려면 온라인 저지에서 5문제 이상을 푸시고, 가입 후 7일 이상이 지나셔야 합니다. 현재 문제를 푸셨습니다.
cjkis
https://algospot.com/judge/problem/read/MEETINGROOM
makeGraph() 함수 질문인데여,,
아래는 문제에 나온 세번째 입력데이터입니다
3
2 5 6 9
1 3 8 10
4 7 11 12
이 경우 makeGraph() 함수의 파라미터 meetings의 값은 pair로 아래와 같이 6개가 됩니다
i meetings[i]
0 (2, 5)
1 (6, 9)
2 (1, 3)
3 (8, 10)
4 (4, 7)
5 (11, 12)
makeGraph() 함수의 아래 부분이 이해가 잘 안되네용,,
주석을 보면 i or j 절을 추가한다고 되어있습니다. 그런데 adj[i], adj[j]에 값을 대입한 것이 아니라 adj[i*2 + 1], adj[j*2 +1]에 값을 대입하네요. 왜 i,j 에 값을 넣지 않고, i*2+1, j*2+1 배열에 값을 넣었는지 궁금합니다.
그리고 오른쪽 주석을 보면 ~i=>j로 되어있는데요, 그렇다면 i*2+i는 ~i를 나타내고, j*2는 j를 나타내는 건가요?
그런데 j를 나타내는 거라면 push_back으로 j를 넣어야 하는것 아닌가요? 어째서 j*2를 push_back으로 넣었는지 궁금합니다,,
adj[3].push_back(0) 의 의미는 meetings[3]이 true면 meetings[0]도 true가 된다는 의미가 맞나요?
9년 전