Всем привет. У меня возник вопрос, если в задаче будут одинаковые слова, только в разных местах, алгоритм тоже должен найти все слова. Алгоритм в правильном решении выдает одинаковые координаты у всех слов. например: Число S состоит из M цифр, например, S=370 и M (количество цифр) = 3 Реализовать логику метода getNumbers, который должен среди натуральных чисел меньше N (long) находить все числа, удовлетворяющие следующему критерию: число S равно сумме его цифр, возведенных в M степень. getNumbers должен возвращать все такие числа в порядке возрастания. Пример искомого числа: 370 = 3*3*3 + 7*7*7 + 0*0*0 8208 = 8*8*8*8 + 2*2*2*2 + 0*0*0*0 + 8*8*8*8 На выполнение дается 10 секунд и 50 МБ памяти. Метод main не участвует в тестировании int[][] crossword = new int[][]{ {'f', 'd', 'e', 'r', 'l', 'k'}, {'u', 's', 'a', 'm', 'e', 'o'}, {'l', 's', 'a', 'm', 'e', 'v'}, {'m', 's', 'a', 'm', 'e', 'h'}, {'p', 'o', 'e', 'e', 'j', 'j'} }; detectAllWords(crossword, "home", "same", "same", "same"); будет: [same - (1, 1) - (4, 1), same - (1, 1) - (4, 1), same - (1, 1) - (4, 1)]