結果

問題 No.92 逃走経路
ユーザー tsuchinaga
提出日時 2019-04-12 13:43:23
言語 Go
(1.23.4)
結果
AC  
実行時間 51 ms / 5,000 ms
コード長 1,724 bytes
コンパイル時間 14,117 ms
コンパイル使用メモリ 241,756 KB
実行使用メモリ 7,900 KB
最終ジャッジ日時 2024-09-14 01:07:27
合計ジャッジ時間 15,463 ms
ジャッジサーバーID
(参考情報)
judge6 / judge2
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 2
other AC * 18
権限があれば一括ダウンロードができます

ソースコード

diff #
プレゼンテーションモードにする

package main
import (
"bufio"
"fmt"
"os"
"sort"
"strconv"
)
func main() {
sc := bufio.NewScanner(os.Stdin)
sc.Split(bufio.ScanWords)
sc.Scan()
n, _ := strconv.Atoi(sc.Text())
sc.Scan()
m, _ := strconv.Atoi(sc.Text())
sc.Scan()
k, _ := strconv.Atoi(sc.Text())
//
cities := make([]int, n)
for i := range cities {
cities[i] = i + 1
}
// fmt.Println(cities)
//
type route struct {
to, cost int
}
routes := make(map[int][]route)
for i := 0; i < m; i++ {
sc.Scan()
a, _ := strconv.Atoi(sc.Text())
sc.Scan()
b, _ := strconv.Atoi(sc.Text())
sc.Scan()
c, _ := strconv.Atoi(sc.Text())
if _, ok := routes[a]; !ok {
routes[a] = make([]route, 0)
}
routes[a] = append(routes[a], route{b, c})
if _, ok := routes[b]; !ok {
routes[b] = make([]route, 0)
}
routes[b] = append(routes[b], route{a, c})
}
// fmt.Println(routes)
for i := 0; i < k; i++ {
sc.Scan()
c, _ := strconv.Atoi(sc.Text())
exists := make(map[int]int) //
for _, city := range cities {
// cityc
if len(routes[city]) > 0 {
for _, r := range routes[city] {
if r.cost == c {
exists[r.to]++
}
}
}
}
// fmt.Println(i, "exists", exists)
cities = make([]int, len(exists))
i := 0
for e := range exists {
cities[i] = e
i++
}
// fmt.Println(i, "cities", cities)
}
sort.Slice(cities, func(i, j int) bool {
return cities[i] < cities[j]
})
s := ""
for _, c := range cities {
if s != "" {
s += " "
}
s += strconv.Itoa(c)
}
fmt.Println(len(cities))
fmt.Println(s)
}
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
0