Sequence in Matrix

javascript

#1

Здравейте!

Оптивам се да реша тази задача: https://judge.telerikacademy.com/problem/28seqinmatrix
Изглежда, че не мога да се справя с input-a. Опитвам се по този начин: https://pastebin.com/tm8RYa3G , но в конзолата на judge излизат само NaN и 0-ли.
Интересен момент е че ако махна “+” преди gets() функцията в цикъла, успявам да асайна 2/3 от 2d масива. Дори тогава обаче не ми работи решението, но работи във VScode.
Целия ми код е тук: https://pastebin.com/FK3jMqwm.

Всяка помощ би била полезна.
Благодаря предварително!


#2

Здравей, Мирослав,

Oт примерния вход, съдържащ стойността 09, можем да заключим, че входните данни би трябвало да се разглеждат по-скоро като стрингове, а не като числа (в моето решение, на Java, този подход работеше). Съответно, матрицата можем да прочетем по следния начин:

const arr = new Array(n);
for(let i = 0; i < n; i++) {
    arr[i] = gets().split(" ");
}

Твоят подход с вложения цикъл for и +gets() предполага, че всички следващи числа ще бъдат подадени на входа на отделни редове (тъй като gets() чете входа ред по ред).

След като успешно сме прочели входните данни, трябва по същество да решим много пъти задачата за намиране на най-дълга подредица от еднакви елементи в едномерен масив. Моята препоръка би била да решиш първо тази задача Longest Sequence of Equal, ако още не си го направил.

Поздрави,
Иван

EDIT: Първоначалната версия на този коментар съдържаше грешно твърдение относно сравняването на числа със стрингове в JavaScript, заради което моля за извинение!


#3

Благодаря за изчерпателния отговор!