Яндекс. Некорректное выполнения программы
Пожалуйста, помогите!
Задача звучит следующим образом:
Ограничение времени 10 секунд;
Ограничение памяти 64.0 Мб;
Ввод: стандартный ввод или input.txt
Вывод: стандартный вывод или output.txt
После урока про сортировки Маша решила применить полученные знания с пользой. У неё есть тетрадка, куда она записывает всех, кому за что-нибудь благодарна. Список может быть очень длинным, но Маша его упорядочила по алфавиту (это называется - лексикографический порядок). Помогите ей организовать быстрый поиск по этому списку.
Формат ввода На первой строке передается количество людей в списке - натуральное число. Затем на следующих строках идет список людей. А после списка - перечень префиксов всех тех, кого надо найти. Перечень префиксов может быть произвольной длины. Пустая строка вместо префикса значит что префиксы закончились.
Формат вывода Для каждого префикса необходимо вывести первую фамилию с таким префиксом, или фразу Не найдено.
Пример
Ввод
3
Иванов Иван
Петренко Тарас
Петров Дмитрий
Ив
Петр
Петра
Вывод
Иванов Иван
Петренко Тарас
Не найдено
Примечания
Обратите внимание, что префикс может содержать пробел, например «Вася П»
Сам код:
package main
import (
"bufio"
"fmt"
"os"
"strings"
)
func findPeopleWithPrefixes(people []string, prefixes []string) []string {
foundPeople := []string{}
for _, prefix := range prefixes {
for _, person := range people {
if prefix == "" || strings.Contains(person, prefix) {
foundPeople = append(foundPeople, person)
break
}
}
}
return foundPeople
}
func main() {
var numPeople int
_, err := fmt.Scan(&numPeople)
if err != nil {
fmt.Println("Ошибка ввода количества людей:", err)
return
}
peopleList := []string{}
reader := bufio.NewReader(os.Stdin)
for i := 0; i < numPeople; i++ {
person, _ := reader.ReadString('\n')
peopleList = append(peopleList, strings.TrimSpace(person))
}
prefixes := []string{}
for {
prefix, _ := reader.ReadString('\n')
prefix = strings.TrimSpace(prefix)
if prefix == "" {
break
}
prefixes = append(prefixes, prefix)
}
foundPeople := findPeopleWithPrefixes(peopleList, prefixes)
for i := len(foundPeople); i < numPeople; i++ {
foundPeople = append(foundPeople, "Не найдено")
}
for _, person := range foundPeople {
fmt.Println(person)
}
}
Я написал код, вроде все нормально, но мне выдает ошибку:
Different number of lines: out = 100, corr = 2
Я не понимаю что с этим делать
Лог компиляции
stdout: mv /temp/compiling/solution.go solution.go || true go build -o solution solution.go stderr: mv: '/temp/compiling/solution.go' and 'solution.go' are the same file
Пожалуйста, помогите, последняя задача, а дедлайн уже менее чем через сутки