<bgdev />free

Вход Регистрация

Advent of code 2020
3

0 1
#20325 (ツ) ФейкПрофил
Създадено на 03.12.2020, видяно: 1356 пъти.

Някой цъка ли АоС 2020 ?

#20477 (ツ) ФейкПрофил
Създадено на 04.12.2020, видяно: 1303 пъти.

Силно съм разочарован от вас ::(

#20479 (ツ) |
Създадено на 04.12.2020, видяно: 1290 пъти.

Дори не съм чувал за това. Ако почувствам желание да се състезавам с някого, ще се регистрирам да бягам маратон. :)

П.П. На leaderboard-a ли си? :)

#20480 (ツ) westy
Създадено на 04.12.2020, видяно: 1285 пъти.

Да, 8⭐ вече.. но до тук нещата са като за първи клас :)

#20482 (ツ) ФейкПрофил
Създадено на 04.12.2020, видяно: 1278 пъти.
|

Дори не съм чувал за това. Ако почувствам желание да се състезавам с някого, ще се регистрирам да бягам маратон. :)

П.П. На leaderboard-a ли си? :)

хаха, не , там са някакви откачалки и сами доста над нивото.

Примерно за ден 1 има някакъв с решение направено за 35 секунди, аз за толкова не мога да прочета решението лол, а той го е прочел, взел е входните данни, написал е решение, ръннал го е и е събмитнал резултата :Д Та конкуренцията за leaderboard-a e брутална

#20483 (ツ) ФейкПрофил
Създадено на 04.12.2020, видяно: 1277 пъти.
westy

Да, 8⭐ вече.. но до тук нещата са като за първи клас :)

Имаше някакви графики за колко време са предадени първите 100 решения през годините. По-натам ще се появят и по-сложни. Мен ме кефи, че от всички ръст решения които пробвах, мойто ръннва най-бързо :Д

#20484 (ツ) ФейкПрофил
Създадено на 04.12.2020, видяно: 1277 пъти.

А и е чудесен вариант да научиш нещо ново :) Примерно да се запознаеш с нов език, библиотека, етц. Примерно част 2 можеше да се направи на yacc/bizon/antlr вместо регулярни изрази. Аз например си написах парсър с една библиотечка за писане на парсъри - от много време исках да я разъкам, но нямаше върху какво :)

#20486 (ツ) Евлампи
Създадено на 04.12.2020, видяно: 1270 пъти.
ФейкПрофил

Аз например си написах парсър с една библиотечка за писане на парсъри - от много време исках да я разъкам, но нямаше върху какво :)

Коя?

#20507 (ツ) ФейкПрофил
Създадено на 05.12.2020, видяно: 1238 пъти.
Евлампи
ФейкПрофил

Аз например си написах парсър с една библиотечка за писане на парсъри - от много време исках да я разъкам, но нямаше върху какво :)

Коя?

the one and only > nom

но би ми било интересно да разцъкам и lalrpop

#20508 (ツ) ФейкПрофил
Създадено на 05.12.2020, видяно: 1238 пъти.

Днешната задача беше по-лесна :(

#20509 (ツ) Евлампи
Създадено на 05.12.2020, видяно: 1229 пъти.
ФейкПрофил

the one and only > nom

но би ми било интересно да разцъкам и lalrpop

Изглеждат интересни, тенкс

#20520 (ツ) Stilgar
Създадено на 05.12.2020, видяно: 1220 пъти.

После аз съм имал много свободно време...

#20539 (ツ) ФейкПрофил
Създадено на 05.12.2020, видяно: 1206 пъти.
Stilgar

После аз съм имал много свободно време...

За сега са лесни и се правят много бързо. Днешната задачка, даже беше по-лесна от вчерашната

#20553 (ツ) Stilgar
Създадено на 05.12.2020, видяно: 1203 пъти.

Е хубаво де ама нали целта не е да решаваш лесните, а когато стигнеш до трудните ще ти трябва много време.

#20560 (ツ) ФейкПрофил
Създадено на 05.12.2020, видяно: 1199 пъти.

Днешната беше доста лесна, но се появиха и много гениални решения, примерно ако някой може да ми обясни как работи;

use std::time::Instant;

fn main() { let input = include_bytes!("../../input.txt");

let start = Instant::now();

let mut seat = 0; let (mut min_seat, mut max_seat) = (usize::max_value(), usize::min_value()); let mut checksum = 0;

for &opcode in input.iter() { match opcode { b'\n' => { seat = seat >> 1; shr because of the last, unnecessary shl min_seat = min_seat.min(seat); max_seat = max_seat.max(seat); checksum ^= seat; seat = 0; }

b'B' => { seat |= 1; }

b'R' => { seat |= 1; }

_ => { noop } }

seat = seat << 1; }

for x in 0..min_seat { checksum ^= x; }

for x in max_seat + 1..1024 { checksum ^= x; }

let duration = start.elapsed();

println!("Elapsed: {} us", duration.as_micros()); println!("Result: {}", checksum); }

Това с XOR-a е ясно, но другата магия за изчисляване на ИДто как става :Д

#20561 (ツ) ФейкПрофил
Създадено на 05.12.2020, видяно: 1198 пъти.

Днешната беше доста лесна, но се появиха и много гениални решения, примерно ако някой може да ми обясни как работи;


use std::time::Instant;

fn main() {
    let input = include_bytes!("../../input.txt");

    let start = Instant::now();

    let mut seat = 0;
    let (mut min_seat, mut max_seat) = (usize::max_value(), usize::min_value());
    let mut checksum = 0;

    for &opcode in input.iter() {
        match opcode {
            b'\n' => {
                seat = seat >> 1; //shr because of the last, unnecessary shl
                min_seat = min_seat.min(seat);
                max_seat = max_seat.max(seat);
                checksum ^= seat;
                seat = 0;
            }

            b'B' => {
                seat |= 1;
            }

            b'R' => {
                seat |= 1;
            }

            _ => {
                //noop
            }
        }

        seat = seat << 1;
    }

    for x in 0..min_seat {
        checksum ^= x;
    }

    for x in max_seat + 1..1024 {
        checksum ^= x;
    }

    let duration = start.elapsed();

    println!("Elapsed: {} us", duration.as_micros());
    println!("Result: {}", checksum);
}

Това с XOR-a е ясно, но другата магия за изчисляване на ИДто как става :Д

ПП: нещо се насра форматирането

#20643 (ツ) ФейкПрофил
Създадено на 06.12.2020, видяно: 1177 пъти.

Чувствам се тъм - един е написал като логика същото решение като моето, но ползва итератори вместо цикъл и неговото е 50 пъти по-бързо от моето rofl. Rustc is magic

#20668 (ツ) Дон Реба
Създадено на 06.12.2020, видяно: 1171 пъти.

вероятно рунтиме чекове или нещо такова, итератора сигурно няма

#20669 (ツ) ФейкПрофил
Създадено на 06.12.2020, видяно: 1168 пъти.
Дон Реба

вероятно рунтиме чекове или нещо такова, итератора сигурно няма

Хванах си го - имах един debug prinltn :) като го махнах почна да минава за 30 микросекунди срещо 90 за итераторите:)

#20751 (ツ) ФейкПрофил
Създадено на 07.12.2020, видяно: 1140 пъти.

Днешното беше гадно, мразя да се занимавам с графи (графове ?) :(

0 1

Advent of code 2020
3

AsmBB v3.0 (check-in: a316dab8b98d07d9); SQLite v3.42.0 (check-in: 831d0fb2836b71c9);
©2016..2023 John Found; Licensed under EUPL. Powered by Assembly language Created with Fresh IDE