Piotr Czajkowski 4 жил өмнө
parent
commit
f5d940a057
1 өөрчлөгдсөн 9 нэмэгдсэн , 24 устгасан
  1. 9 24
      day14/day14.go

+ 9 - 24
day14/day14.go

@@ -33,18 +33,9 @@ func setBits(number int64, mask string) int64 {
 	return number
 }
 
-func processLine(line string) error {
-	var id int64
-	var number int64
-	n, err := fmt.Sscanf(line, "mem[%d] = %d", &id, &number)
-	if err != nil || n != 2 {
-		return fmt.Errorf("Error scanning '%s': %s", line, err)
-	}
-
+func processLine(id int64, number int64) {
 	number = setBits(number, mask)
 	mem[id] = number
-
-	return nil
 }
 
 func readFile(file *os.File) {
@@ -64,14 +55,15 @@ func readFile(file *os.File) {
 			continue
 		}
 
-		if err := processLine(line); err != nil {
-			log.Fatal(err)
-		}
-
-		if err := processLine2(line); err != nil {
-			log.Fatal(err)
+		var id int64
+		var number int64
+		n, err := fmt.Sscanf(line, "mem[%d] = %d", &id, &number)
+		if err != nil || n != 2 {
+			log.Fatalf("Error scanning '%s': %s", line, err)
 		}
 
+		processLine(id, number)
+		processLine2(id, number)
 	}
 	if err := scanner.Err(); err != nil {
 		log.Fatalf("Scanner error: %s", err)
@@ -129,14 +121,7 @@ func setBitsString(number string) string {
 
 var mem2 map[int64]int64
 
-func processLine2(line string) error {
-	var id int64
-	var number int64
-	n, err := fmt.Sscanf(line, "mem[%d] = %d", &id, &number)
-	if err != nil || n != 2 {
-		return fmt.Errorf("Error scanning '%s': %s", line, err)
-	}
-
+func processLine2(id int64, number int64) error {
 	numberString := fmt.Sprintf("%036b", id)
 	result := setBitsString(numberString)
 	masks := permuteMask(maskMaxIndex, []string{result})