結果
| 問題 |
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)
}
}
harhogefoo