• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

question-closed Nie rozumiem odpowiedzi do jednego z testów zadania

Object Storage Arubacloud
0 głosów
293 wizyt
pytanie zadane 1 lipca 2021 w Algorytmy przez wojtek_suchy Mądrala (6,880 p.)
zamknięte 1 lipca 2021 przez wojtek_suchy

Cześć!
Robię takie zadanie http://www.usaco.org/index.php?page=viewproblem2&cpid=597 i dla tego testu według twórców poprawną odpowiedzią jest 24197.0, ale dla np wartości R = 20247, przyjmując że wybuch następuje w miejscu pojawienia się pierwszej bomby (co jest oczywiście nieoptymalne), moja funkcja sprawdzająca czy wybuchną wszystkie bomby zwraca true. Czy moja funkcja jest błędna? Czy ja czegoś nie rozumiem?

Tutaj można pobrać oryginalnie wszystkie testy do zadania "Angry Cows", omawiany przeze mnie to test nr 2

funkcja sprawdzająca czy wszystkie bomby wybuchły dla określonego R które wybucha w punkcie 1 od lewej bomby

bool check(vector<int>& a, int R){
    int i = 1, beg = 0;
    for (; i < (int)a.size() && R > 0; R--){
        while (a[beg] + R >= a[i] && i < (int)a.size()){
            i++;
        }
        beg = i;
    }
    return i == (int)a.size();
}
komentarz zamknięcia: błąd  w mojej funkcji sprawdzającej

1 odpowiedź

+1 głos
odpowiedź 1 lipca 2021 przez Michał Muzyka Pasjonat (24,080 p.)
1 krok algorytmu
beg = 0
i = 1
a[0] + R >= a[1]   // załóżmy, że nieprawda, algorytm powinien zwrócić fałsz bo wybuch nie wysadzi wszystkich bomb

jednakże:
2 krok algorytmu
beg = 1 
i = 1

a[1] + R >= a[1] //zawsze prawda, i jest zwiększone do i = 2, jeżeli byłyby tylko dwie bomby algorytm zwróciłby prawda, chociaż powinien fałsz
komentarz 1 lipca 2021 przez wojtek_suchy Mądrala (6,880 p.)
do tego beg powinno równać się i-1  a nie i :P
komentarz 1 lipca 2021 przez Wiciorny Ekspert (269,710 p.)
tu nie równa się "i"

Podobne pytania

0 głosów
1 odpowiedź 231 wizyt
0 głosów
1 odpowiedź 365 wizyt
pytanie zadane 19 lipca 2021 w Algorytmy przez wojtek_suchy Mądrala (6,880 p.)
0 głosów
0 odpowiedzi 171 wizyt
pytanie zadane 21 kwietnia 2021 w Algorytmy przez wojtek_suchy Mądrala (6,880 p.)

92,551 zapytań

141,393 odpowiedzi

319,523 komentarzy

61,936 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...