Skip to content

Instantly share code, notes, and snippets.

@WilliamHester
Last active August 29, 2015 14:06
Show Gist options
  • Save WilliamHester/1131ca1d1cfd69d4f742 to your computer and use it in GitHub Desktop.
Save WilliamHester/1131ca1d1cfd69d4f742 to your computer and use it in GitHub Desktop.
package main
import "fmt"
func main() {
var n, m int
for fmt.Scanln(&n, &m); n > 0; fmt.Scanln(&n, &m) {
names := make([]string, 0, n)
cmap := make(map[string][]string)
for i := 0; i < n; i++ {
var name string
fmt.Scanln(&name)
names = append(names, name)
cmap[name] = nil
}
for i := 0; i < m; i++ {
var supporter, candidate string
fmt.Scanln(&supporter, &candidate)
if _, ok := cmap[candidate]; !ok {
names = append(names, candidate)
}
cmap[candidate] = append(cmap[candidate], supporter)
}
for _, name := range names {
for _, candidate := range cmap[name] {
fmt.Println(candidate)
}
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment