Успех на изпита


8
Здравейте на всички, исках само да пожелая успех и късмет на всички явяващи се днес на изпит, както и по-малко задачи с пици и шах. :)



Отговори



0
Хахаха:) Пици и шах нямаше ама пак беше много забавно:)

от Pessinger (50 точки)


1
#щесънувамбаткивмазето

от roc07 (60 точки)

0
избяга ли от батките

от nivalen292 (273 точки)



3
Надявам се Цъки да пусне видео решение на последната задача. Този компот код нямаше оправяне :).

от ktsvetanov (705 точки)


0
Забавна си беше последната задача. На нас от вечерната група ни смениха тестовете по време на изпита и изведнъж от 30т. на нея се оказах с 10 и надеждите ми повяхнаха :-) Но иначе е решима, просто време не остана за всичките частни случаи.

от STzvetkov (1330 точки)

0
Аз не бих казал че не ми стигна времето, понеже я мъчих някъде около 2h. Явно нещо не направих като хората.

от ktsvetanov (705 точки)



0
Някой може ли да сподели решение за 100 точки от първата задача, че изкарвам само 70 и не мога да си намеря грешката.

от bMedarski (60 точки)


1
function solve(args) { let len = args[0], numbers = args.slice(1).map(Number), i, result; if (numbers[0] % 2 == 1) { result = 1; } else { result = 0; } for (i = 0; i < len; i += 1) { if (numbers[i] % 2 == 1) { result = result * numbers[i]; } else { result = result + numbers[i]; i += 1; } if (result > 1024) { result = result % 1024; } } console.log(result); }

Това е каквото измислих аз за 20тина мин.


от Asen_Manchev (40 точки)

0
Мерси, видях си грешката

от bMedarski (60 точки)



1

100/100 на втора, ама на сутринта на следващия ден. Дали се брои?! :)


от martinboykov (1112 точки)


0

Едва ли, би ило хубаво ама надали се признава таакъв резултат сега. 



5
@martinboykov Всъщност брои се - към получените знания и придобитите умения от курса, което, всъщност е важното ;-) Щом си имал ентусиазма и мотивацията да седнеш вкъщи, да дорешиш задачата и да си откриеш грешката, то няколко точки по-малко на изпита не са от значение.

от STzvetkov (1330 точки)


0
Привет, колеги! Някой има ли решение за 2ра задача. тъй като на мен не ми стигна времето да я довърша. Също така ми е интересно да видя логиката с побитовите операции и да я сравня с моята :)

от k_kaneva (127 точки)


0

function solve(args) {

    const [rows, cols] = args[0].split(' ').map(Number);
    // console.log(args.length);
    args.splice(0, 1);
    //  console.log(args.length);
    // console.log(args[0]);
    let field = new Array(rows);
    field.fill(0);

    for (let i = 0; i < rows; i += 1) {
        field[i] = args[i].split(' ').map(Number);
    }
    //console.log(rows);
    //console.log(cols);
    let currentRow = (rows / 2 | 0);
    let currentCol = (cols / 2 | 0);

    // console.log(currentRow);
    //console.log(currentCol);
    //  console.log(currentCol);

    //field[currentRow][currentCol]=0;
    //console.log(field[currentRow][currentCol]);

    let maskUp = 1;
    let maskRight = 2;
    let maskDown = 4;
    let maskLeft = 8;
     //  console.log((field[currentRow][currentCol]));

    while (true) {
        // to check if getting out
        if (currentRow === 0 || currentCol === 0 || currentRow === rows - 1 || currentCol === cols - 1) {
            console.log(`No rakiya, only JavaScript ${currentRow} ${currentCol}`);
            break;
        }

        //   console.log((field[currentRow][currentCol] & maskUp)>>3);
        else if ((field[currentRow-1][currentCol]!==0)&&(field[currentRow][currentCol] & maskUp)  === 1) {
            field[currentRow][currentCol] = 0;
            currentRow -= 1;
     //          console.log((field[currentRow][currentCol]));
     //        console.log('row-1'+currentRow);
        }
        else if ((field[currentRow][currentCol+1]!==0)&&(field[currentRow][currentCol] & maskRight) >> 1 === 1) {
            field[currentRow][currentCol] = 0;
            currentCol += 1;
      //         console.log((field[currentRow][currentCol]));
     //          console.log('col+1'+currentCol);
        }
        else if ((field[currentRow+1][currentCol]!==0)&&(field[currentRow][currentCol] & maskDown) >> 2 === 1) {
            field[currentRow][currentCol] = 0;
            currentRow += 1;
     //       console.log((field[currentRow][currentCol]));
      //         console.log('row+1'+currentRow);
        }
        else if ((field[currentRow][currentCol-1]!==0)&&(field[currentRow][currentCol] & maskLeft)>>3 === 1) {
            field[currentRow][currentCol] = 0;
            currentCol -= 1;
      //         console.log((field[currentRow][currentCol]));
       //        console.log('col-1'+currentCol);
        }
        else {
            console.log(`No JavaScript, only rakiya ${currentRow} ${currentCol}`);
            break;
        }
    }
}

Заповядай!

ZЗповяда

 


1

Малко по различно решение Цък, като със сигурност може да се оптимизира.


от ktsvetanov (705 точки)



0
Някой знае ли по каква логика трябва да се смаляват идентификаторите в трета задача на втора група ?

от Boray (666 точки)


0

Първите 63 с един символ, останалите с 2 символа.

Цъки обеща да пусне задачката с обяснения по някое време.


от ktsvetanov (705 точки)

0

идентификаторите трябва да се заместват, така, че да заемат най-малко място :)

тези, които се състоят от най-много символи, се заместват с най-късите заместители, и така докато заместиш всички.

Не разбирам добре условието, но ми си струва, че ако се окаже, по кратко може и да не ги заместваш.

Важно, ако заместваш - всички, ако ли не пак всички.

Освен това еднакви идентификатори се заместват с еднакви заместители.

Освен това всъщност не е нужно да ги заместваш, а само да сметнеш колко дълги биха се получили ако се заместят


от mitkop (578 точки)



0

Някой всъщност знае ли какво значи оценката, която ще получим?


от Smytt_kp (115 точки)


0
а някой знае ли кога ще получим оценки и само при мен ли показва домашни работи 0-8 като съм ги предал всичките ?

от vaskoelenkov (279 точки)

1
мисля, че при всички е така. Домашните ще ги гледат при формирането на оценките (предполагам)

от Smytt_kp (115 точки)


0
Пробвах да реша 2ра задача на която забих на изпита отново и изкарвам 90 точки, някой може ли да удари едно рамо и да каже какво пропускам Solution

от Vlaev (155 точки)


0

Здравей колега.

Проблема ти идва от функцията toBinary. Пробвай го с 1 примерно :).

  function toBinary(r, c) {
         let number = (field[r][c]).toString(2);
         if (number.length < 2) {
             number = '0' + number;
         }
         if (number.length < 3) {
             number = '0' + number;
         }
         if (number.length < 4) {
             number = '0' + number;
         }
         return number;
     }

Иначе толкова по-лесно е да се научат няколко побитови операции & | и << >>

Успех.


от ktsvetanov (705 точки)

-1
Колега и аз изкарах 90 точки. Един от тестовете върти безкраен цикъл, и трябва да се направи проверка дали си стъпил в една клетка 2 пъти.

от nivalen292 (273 точки)