結果
| 問題 | No.938 賢人を探せ |
| コンテスト | |
| ユーザー |
kat0rik
|
| 提出日時 | 2020-01-06 12:41:33 |
| 言語 | Go (1.23.4) |
| 結果 |
WA
|
| 実行時間 | - |
| コード長 | 904 bytes |
| 記録 | |
| コンパイル時間 | 15,944 ms |
| コンパイル使用メモリ | 228,508 KB |
| 実行使用メモリ | 12,288 KB |
| 最終ジャッジ日時 | 2024-11-22 23:58:01 |
| 合計ジャッジ時間 | 20,813 ms |
|
ジャッジサーバーID (参考情報) |
judge2 / judge1 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 2 |
| other | AC * 5 WA * 16 |
ソースコード
package main
import (
"fmt"
"sort"
)
type student struct {
id int
name string
bad bool
}
type sts []student
func (s sts) Len() int {
return len(s)
}
func (s sts) Less(i, j int) bool {
return s[i].id < s[j].id
}
func (s sts) Swap(i, j int) {
s[i], s[j] = s[j], s[i]
}
func main() {
var N int
fmt.Scan(&N)
students := make(map[string]student, 0)
for i := 0; i < N; i++ {
var sta, stb student
fmt.Scan(&sta.name, &stb.name)
if v, ok := students[sta.name]; !ok {
sta.id = i
sta.bad = true
students[sta.name] = sta
} else {
v.bad = true
}
if _, ok := students[stb.name]; !ok {
stb.id = i
students[stb.name] = stb
}
}
a := make([]student, 0)
for _, v := range students {
if !v.bad {
// fmt.Println("name:", k, "id", v.id)
a = append(a, v)
}
}
sort.Sort(sts(a))
// fmt.Println("N", N, "a", a)
for i := range a {
fmt.Println(a[i].name)
}
}
kat0rik