結果
問題 | No.5007 Steiner Space Travel |
ユーザー |
![]() |
提出日時 | 2025-01-29 02:37:07 |
言語 | Go (1.23.4) |
結果 |
AC
|
実行時間 | 4 ms / 1,000 ms |
コード長 | 913 bytes |
コンパイル時間 | 15,763 ms |
コンパイル使用メモリ | 242,988 KB |
実行使用メモリ | 6,820 KB |
スコア | 3,256,004 |
最終ジャッジ日時 | 2025-01-29 02:37:24 |
合計ジャッジ時間 | 13,103 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge3 |
純コード判定しない問題か言語 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 30 |
ソースコード
package main import . "fmt" const ALPHA = 5 func dist(a,b []int, i int, c,d []int, j int) int { dx := a[i] - c[j] dy := b[i] - d[j] return dx*dx + dy*dy } func main() { var n, m int Scan(&n, &m) a := make([]int, n) b := make([]int, n) for i := range a { Scan(&a[i],&b[i]) } c := make([]int, m) d := make([]int, m) for i := range c { c[i] = (i%3+1)*250 d[i] = (i/3+1)*250 } t := []int{1} r := []int{1} for i := 0; i < n; i++ { next := (i+1)%n best := ALPHA*ALPHA*dist(a,b,i,a,b,next) st := -1 for j := 0; j < m; j++ { tmp := ALPHA*dist(a,b,i,c,d,j) + ALPHA*dist(c,d,j,a,b,next) if tmp < best { best = tmp st = j } } if st < 0 { t = append(t, 1) r = append(r, next+1) } else { t = append(t, 2, 1) r = append(r, st+1, next+1) } } for i := range c { Println(c[i], d[i]) } Println(len(t)) for i := range t { Println(t[i], r[i]) } }