: 작은 부품부터 해결해나가야 할까? 큰 부품부터 해결해야 할까? 에 대한 생각을 함..
입력값 cin >> x(큰) >> y(작은) >> k(비용); 이고,
[y].push_back({x, k}) ; 으로 하기에는
누적되는 costs 비용을 처리할 수 없는 구조여서
[x].push_back({y, k}); 로 변경함.
왜 혼동했냐? 하면 기존의 위상정렬 풀 때는 작은 거부터 해결해 나가는 구조라고 생각했는데, 이것은 아니다.
지금의 경우, 큰 부품부터 queue 에 넣고,
진행하고 있어서 혼동했따....
이게 성립하는 이유는 문제에서 완제품 7번을 구하라고 했고,
7번에서부터 연결된 그래프로 쫘아악 퍼져 나가면서
costs[idx] 를 갱신해야 하기 때문에
=> 완제품 부터 진행해야 한다.
문제에서 작은 부품 , 중간 부품, 큰 부품이 있어서
아무래도 작은 부품부터 해결해야 하지 않을까? 란 생각을 했다.
다른 위상정렬 문제를 보더라도, a -> b 순서인 경운,
inDegree[b] 를 카운팅한다.