Ajout partie 2

This commit is contained in:
rick 2021-04-18 14:51:12 +02:00
parent bda2bcbb5f
commit 071cf40b21
Signed by: Rick
GPG key ID: 2B593F087240EE99

View file

@ -13,12 +13,6 @@ type Coord struct {
y int y int
} }
func check(e error) {
if e != nil {
panic(e)
}
}
func coordDansListe(l *list.List, e Coord) (bool) { func coordDansListe(l *list.List, e Coord) (bool) {
var tmp Coord var tmp Coord
for elem := l.Front(); elem != nil; elem = elem.Next() { for elem := l.Front(); elem != nil; elem = elem.Next() {
@ -55,8 +49,7 @@ func p_partie(file *os.File) {
reader := bufio.NewReader(file) reader := bufio.NewReader(file)
var nouvMaison bool var nouvMaison bool
var pred Coord var pred Coord
pred.x = 0 pred.x, pred.y = 0, 0
pred.y = 0
nbMaisons := 1 nbMaisons := 1
listeMaison := list.New() listeMaison := list.New()
listeMaison.PushFront(pred) listeMaison.PushFront(pred)
@ -71,11 +64,45 @@ func p_partie(file *os.File) {
fmt.Printf("Il y a %d maisons déservies\n", nbMaisons) fmt.Printf("Il y a %d maisons déservies\n", nbMaisons)
} }
func d_partie(file *os.File) {
reader := bufio.NewReader(file)
var nouvMaison bool
var predNoel, predRobot Coord
predNoel.x , predNoel.y, predRobot.x, predRobot.y = 0, 0, 0, 0
nbMaisons := 1
listeMaison := list.New()
listeMaison.PushFront(predNoel)
char, _, err := reader.ReadRune()
i := 0
for err != io.EOF {
if i % 2 == 0 {
predNoel, nouvMaison = nouvCoord(listeMaison, string(char), predNoel)
} else {
predRobot, nouvMaison = nouvCoord(listeMaison, string(char), predRobot)
}
if nouvMaison {
nbMaisons++
}
char, _, err = reader.ReadRune()
i++
}
fmt.Printf("Il y a %d maisons déservies\n", nbMaisons)
}
func main() { func main() {
inputFile, err := os.Open("input") inputFile, err := os.Open("input")
check(err) if err != nil {
panic(err)
}
fmt.Printf("Traitement partie 1…\n")
p_partie(inputFile) p_partie(inputFile)
inputFile.Seek(0, 0)
fmt.Printf("Traitement partie 2…\n")
d_partie(inputFile)
inputFile.Close() inputFile.Close()
} }