-
Notifications
You must be signed in to change notification settings - Fork 2
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. Weβll occasionally send you account related emails.
Already on GitHub? Sign in to your account
54-tgyuuAn #185
54-tgyuuAn #185
Conversation
μλ μ΄κ±° κ·Έλ₯ λ¬Έμ λ§ μ½κ³ μ΄ν΄νλ €λ€κ° λμ ν λ¬Έν΄λ ₯μ΄ μλμ κ²°κ΅ μΈν°λ· κ²μμ νλ€μ,... κ·Έλ₯ λ€μ΅μ€νΈλΌ μκ³ λ¦¬μ¦μλ€κ° μ΅λ¨ κ²½λ‘λ₯Ό 보λλ° ν΄λΉ μ΅λ¨ κ²½λ‘κ° μ μ μ μ§λκ² λλ©΄ Trueλ‘ λ°κΏμ νλ©΄ λκ² κ΅°μ..!! μΌλ¨ μ΄ν΄νκ³ μ½λλ₯Ό ꡬνν΄λ³΄λ €κ³ μ!(μ¬μ€ λ€μ΅μ€νΈλΌ μ€λλ§μ΄λΌ κΉλ¨Ήμ΄μ λ ΈνΈ λ³΄κ³ λ€μ 곡λΆν΄μΌν λ―..) |
λ§μ΅λλ€ λ§κ³ μ ~ ~~~~ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
λ¬Έμ μ½κ³ ... μ΄λμ μ΄λ»κ² μ κ·Όν΄μΌν μ§ μμ 1λ κ°μ΄ μμμ
νκ·λ PR + λ€λ₯Έ νμ΄ κΈ μ λ
νμ΅λλ€ ..
νμ΄λ₯Ό λ³΄κ³ μ΄ν΄νλλ° νμ°Έ κ±Έλ Έλ€μ ......... π
λ§μμΉ¨ μ§κΈ μ 곡μμ λ€μ΅μ€νΈλΌ νκ³ μμλλ° κ³΅λΆνκ³ λ€μ μ΄ λ¬Έμ λμ ν΄λ³΄κ² μλλ€ π₯π₯π₯π₯
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
μ λ νμ΄κ° μμ λ¬λΌμ λ¨κ²¨λ΄ λλ€.
s,g,h μμ μΆλ° μ΅λ¨κ±°λ¦¬λ₯Ό ꡬνκ³ ..
s -> target μ΄ μλ λκ° μ€ νλμ κ°μ΄ κ°μμ§ λΉκ΅ν©λλ€.
- s μμ g κΉμ§ μ΅λ¨κ±°λ¦¬ + h μμ λͺ©μ μ§κΉμ§ μ΅λ¨κ±°λ¦¬ + g μμ h λΉμ©
- s μμ h κΉμ§ μ΅λ¨κ±°λ¦¬ + g μμ λͺ©μ μ§κΉμ§ μ΅λ¨κ±°λ¦¬ + g μμ h λΉμ©
const val INF_1 = 987_654_321
fun main() {
val br = BufferedReader(InputStreamReader(System.`in`))
val T = br.readLine().toInt()
repeat(T) {
program(br)
}
}
private fun program(br: BufferedReader) {
val (n, m, t) = br.getIntInputs()
val (s, g, h) = br.getIntInputs()
val graph = Array(n + 1) { Array(n + 1) { INF_1 } }
repeat(m) {
val (a, b, d) = br.getIntInputs()
graph[a][b] = d
graph[b][a] = d
}
val distances = dijkstra(graph = graph, start = s, n = n)
val distanceFormH = dijkstra(graph, h, n)
val distanceFormG = dijkstra(graph, g, n)
val gToHCost = graph[g][h]
val candidates = (0 until t).map { br.readLine().toInt() }
val answer = candidates.filter { candi ->
distances[candi] == distances[g] + distanceFormH[candi] + gToHCost || distances[candi] == distances[h] + distanceFormG[candi] + gToHCost
}
println(answer.sorted().joinToString(" "))
}
private fun dijkstra(graph: Array<Array<Int>>, start: Int, n: Int): Array<Int> {
val queue = ArrayDeque<Int>()
queue.add(start)
val distance = Array(n + 1) { INF_1 }
distance[start] = 0
while (queue.isNotEmpty()) {
val now = queue.removeFirst()
for (i in 1 until graph.size) {
val cost = distance[now] + graph[now][i]
if (cost >= distance[i]) {
continue
}
distance[i] = cost
queue.add(i)
}
}
return distance
}
private fun BufferedReader.getIntInputs() = readLine().split(" ").map { it.toInt() }
μ΄ λ€μ΅μ€νΈλΌκ° 3λ² λμκ°κΈ° λλ¬Έμ μ‘°κΈμ λΉν¨μ¨μ μΌ μ μλλ° μ λ μκ°λ λͺ»ν΄λ³Έ νμ΄λ€μ... μμ€ν©λλ€.. λκ° μ΄λ° νμ΄λ‘ νμ΄μΌ νλ λ¬Έμ κ° μμλλ°,,, μ μλ§μ .. |
@SeongHoonC μ°Ύμλ° #84 μ΄κ±°λ ν λ² νμ΄λ³΄μλ κ±° μΆμ²λ립λλ€!! 3λͺ μ λ¦¬λ·°μ΄ μ€μμ νΌμ νμ΄μ£Όμ ¨λ€μ.... μ λ§ κ°μ¬λ립λλ€ (__) @alstjr7437 @H0ngJu ν½ν½ |
μ΄λ―Έ νμμ§μ© γ γ |
π λ¬Έμ λ§ν¬
λ―ΈνμΈ λμ°©μ§
βοΈ μμλ μκ°
2μκ°
μ€λκ°λ§μ.... μ μλ₯Ό λ§λ¬λ€...
β¨ μλ μ½λ
μΌλ¨ μ΄ λ¬Έμ λ λ¬Έν΄λ ₯μ λ§μ΄ μνλ λ¬Έμ μΈ κ² κ°λ€.
λ¬Έμ μ΄ν΄νλ λ°λ§ 20λΆ μ λ κ±Έλ Έλ€.
μλμ κ°μ κ·Έλνκ° μ£Όμ΄μ‘μ λ,
νμ λ Έλκ° μμ μ§μ μ΄λ€.
μ΄ λ, κ²μμ λ Έλκ° λͺ©μ μ§μ νλ³΄κ° λ μ μλ λ Έλλ€μΈλ°,
νμμμ κ²μμμΌλ‘ μ΅μκ²½λ‘λ‘ λ»μμ λ μ μ μΌλ‘ μ£Όμ΄μ§ κ²½λ‘
<g, h>
λ₯Ό μ§λ μ μλ κ²μμ λ Έλλ€μ λ°ννλ©΄ λλ€.κ·Έλ¬λκΉ,,, μ 리ν΄λ³΄λ©΄ μμμ λͺ©μ μ§ νλ³΄κ° λ μ μλ λ Έλλ
5
,6
λ² λ ΈλμΈλ°,μμ λ ΈλμΈ
2
λ² λ Έλμμ λ»μΌλ©΄5
λ² λ Έλλ λ°λ‘ 5μ½μ€νΈλ₯Ό μ¬μ©ν΄μ2-> 5
λ² κ²½λ‘λ₯Ό νκ³ κ°λ κ²μ΄ κ°μ₯ λΉ λ₯΄λ€.λ°λ©΄,
6
λ² λ Έλλ2-> 3-> 6
λ² κ²½λ‘λ‘ κ°λ κ²μ΄ 6 μ½μ€νΈλ₯Ό μ¨μ κ°μ₯ λΉ λ₯΄λ€.μ΄ λ,
6
λ² λ Έλλ‘ κ°λ μ΅μ κ²½λ‘μ μ μ λ ΈλμΈ1 -> 3
λ Έλκ° μμΌλ―λ‘6
λ² λ Έλλ₯Ό λ°ννλ©΄ λλ κ²μ΄λ€.κ·ΈλΌ μ΄ λ¬Έμ λ₯Ό μ΄λ»κ² νλ©΄ λλλ?!
μΌλ¨ μμ λ Έλκ° νλκ° μ£Όμ΄μ§ μνλ‘ μ΅μ μ½μ€νΈλ‘ κ° λ Έλλ§λ€ κΈΈμ λ»μ΄μΌ νλ―λ‘ λ€μ΅μ€νΈλΌλ₯Ό μ¬μ©νλ κ²μ΄ λͺ ννλ€.
(λ€μ΅μ€νΈλΌμ λν μ€λͺ μ λμ€μ½λ μ±λ μκ³ λ¦¬μ¦ λ ΈνΈμ μμ΄μ!)
κ·Έλ¬λ©΄ μ΄λ»κ² νλ©΄ ν΄λΉ λ ΈλκΉμ§μ μ΅μ κ²½λ‘μ
<g, h>
κ²½λ‘κ° μμμ νμ ν μ μμκΉ?μ‘°κΈλ§ μκ°ν΄λ³΄λ©΄ μκ·Ό κ°λ¨νλ°,
μλμ κ°μ΄ κΈ°μ‘΄ λ€μ΅μ€νΈλΌμλ ν νΉμ μ°μ μμ νμ ν΄λΉ
<λ ΈλκΉμ§μ μ½μ€νΈ, λ Έλ>
λ§ μ μ₯νμ§λ§,μ κ°μ΄ μ€κ°μ κ²½λ‘μ λν μ 보λ₯Ό κ°μ§κ³ ν΄λΉ κ²½λ‘λ₯Ό μ§λ¬λ μ§, μ§λμ§ μμλ μ§λ§ 체ν¬νλ©΄ λλ€.
μ΄λ κ²λ§ νλ©΄ ν릴 μ€ μμλ€.
κ·Όλ° λ³΅λ³μ΄ μμλ€.......
μλ κ²½μ°λ₯Ό μκ°ν΄λ³΄μ.
λͺ©μ μ§ ν보 λ Έλ
4
λ² λ Έλλ‘ κ°λ κΈΈμ μλμ κ°μ΄ λͺ ννλ€.4
λ² λ Έλλ λ°λμ λμκ° λλ κ²½λ‘λ₯Ό μ§λκ° μ λ°μ μλ€.νμ§λ§
5
λ² λ Έλλ?μλμ κ°μ΄
1-> 6-> 5
κ²½λ‘λ‘ κ°λ κ²κ³Ό,1->2->3->4->5
μ κ²½λ‘λ‘ κ°λ κ²μ μ½μ€νΈκ° κ°λ€.μ¬μ€ μ΄λ΄ κ²½μ°μλ λμκ° λλ κ²½λ‘λ‘ κ°λ μ΅μ κ²½λ‘κ° μκΈ° λλ¬Έμ λ΅μ ν¬ν¨μ νλ κ²μ΄ λ§λ€.
κ·ΈλΌ μ κ²½μ°μμ λ΅μ λμΆν΄λ΄λ €λ©΄ λκ°μ μ½μ€νΈμμ κ° μ μλ κ²½λ‘κ° μ¬λ¬ κ°μ§ μΌ λ,
λμκ° λλ κ²½λ‘λ₯Ό μ§λ κ²μ λ¨Όμ μ°μ μμ ν νΉμ νμμ λ½μλ΄μΌλ§ νλ€.
μ΄λ»κ² μ°μ μμ νμμ κ°μ€μΉλ₯Ό μ μ‘°μ ν΄μ λμκ° λλ κ²½λ‘κ° μλ κ²μ λ¨Όμ λ½μΌλ©΄ λλ€.
μ΄λ₯Ό ν΄κ²°νλ λ°©λ²μ
λμλλ κ²½λ‘λ₯Ό μ§λ¬μ λλ₯Ό λνλ΄λ
is_via
μ κ°μκ²½λ‘λ₯Ό μ§λ¬μ κ²½μ°
0
μΌλ‘ λκ³ ,κ²½λ‘λ₯Ό μ§λμ§ μμμ κ²½μ°
1
λ‘ λμ΄μμ°μ μμ ν νΉμ νμμ κ²½λ‘λ₯Ό μ§λ κ²½μ°λ₯Ό λ¨Όμ λμΆνκ² νλ©΄ λλ€.
μ΄κ±° λ§μ§λ§ κΊΌ μ²λ¦¬νλ€κ³ μκ° μ’ μ€λ κ±Έλ Έλ°.... γ γ γ γ γ γ γ γ γ γ γ γ
λμμ΄ λ§μ΄ λλ κΈ 1
λμμ΄ λ§μ΄ λλ κΈ 2
π μλ‘κ² μκ²λ λ΄μ©