結果
| 問題 | No.570 3人兄弟(その1) | 
| コンテスト | |
| ユーザー |  harhogefoo | 
| 提出日時 | 2017-10-14 19:46:34 | 
| 言語 | Go (1.23.4) | 
| 結果 | 
                                AC
                                 
                             | 
| 実行時間 | 2 ms / 2,000 ms | 
| コード長 | 954 bytes | 
| コンパイル時間 | 14,331 ms | 
| コンパイル使用メモリ | 224,792 KB | 
| 実行使用メモリ | 5,248 KB | 
| 最終ジャッジ日時 | 2024-11-17 14:51:09 | 
| 合計ジャッジ時間 | 14,827 ms | 
| ジャッジサーバーID (参考情報) | judge2 / judge4 | 
(要ログイン)
| ファイルパターン | 結果 | 
|---|---|
| sample | AC * 2 | 
| other | AC * 5 | 
ソースコード
package main
import (
  "fmt"
  "bufio"
  "os"
  "strconv"
  "sort"
)
var sc = bufio.NewScanner(os.Stdin)
func nextLine() string {
  sc.Scan()
  return sc.Text()
}
func nextInt() int {
  sc.Scan()
  i, e := strconv.Atoi(sc.Text())
  if e != nil {
    panic(e)
  }
  return i
}
func main() {
  numDict := map[string]int{}
  numDict["A"] = nextInt()
  numDict["B"] = nextInt()
  numDict["C"] = nextInt()
  a := List{}
  for k, v := range numDict {
    e := Entry{k, v}
    a = append(a, e)
  }
  sort.Sort(a)
  for _, e := range a {
    fmt.Println(e.name)
  }
}
type Entry struct {
  name string
  value int
}
type List []Entry
func (l List) Len() int {
  return len(l)
}
func (l List) Swap(i, j int) {
  l[i], l[j] = l[j], l[i]
}
func (l List) Less(i, j int) bool {
  // 値が等しい場合はキーで昇順にソート
  if l[i].value == l[j].value {
    return (l[i].name < l[j].name)
  } else {
    return (l[i].value > l[j].value)
  }
}
            
            
            
        