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

Błąd w przykładowych testach, czy w moim kodzie - HackerRank, Kangaroo

Object Storage Arubacloud
0 głosów
106 wizyt
pytanie zadane 15 stycznia 2019 w Java przez coderCpp93 Gaduła (4,200 p.)

Witam mam poniższe zadanie na HackerRank. W przykładowym teście o numerze 0 są takie argumenty:

x1 = 0, v1 = 3, x2 = 4, v2 = 2.

Problem w tym, że moja odpowiedź jest NO, a według przykładu YES. Wydaje mi się, że moja odpowiedź jest poprawna, ponieważ żeby oba kangury znalazły się w tym samym miejscu, pierwszy musi zrobić 2 skoki, a drugi 1. Spotkają się w miejscu na osi oznaczonym 6. Po submitowaniu mam błędy w 6 na 30 odpowiedzi. W czym jest problem?

Poniżej kod:

import java.util.Scanner;

public class Solution {
    static String kangaroo(int x1, int v1, int x2, int v2) {
        int countOfFirstKangaroo = x1;
        int countOfSecondKangaroo = x2;
        int jumpsOfFirst = 0;
        int jumpsOfSecond = 0;

        if ((x1 < x2 && v1 < v2) || (x1 == x2 && v1 < v2) || (x1 < x2 && v1 == v2)) {
            return "NO";
        } else {
            while (countOfFirstKangaroo != countOfSecondKangaroo) {
                if (countOfFirstKangaroo < countOfSecondKangaroo) {
                    countOfFirstKangaroo += v1;
                    jumpsOfFirst++;
                } else if (countOfFirstKangaroo > countOfSecondKangaroo) {
                    countOfSecondKangaroo += v2;
                    jumpsOfSecond++;
                }
            }
        }

        if (jumpsOfFirst == jumpsOfSecond) return "YES";
        else return "NO";
    }

    private static final Scanner scanner = new Scanner(System.in);

    public static void main(String[] args) {
        int x1 = scanner.nextInt();
        int v1 = scanner.nextInt();
        int x2 = scanner.nextInt();
        int v2 = scanner.nextInt();

        System.out.println(kangaroo(x1, v1, x2, v2));

        scanner.close();
    }
}

 

1 odpowiedź

–1 głos
odpowiedź 16 stycznia 2019 przez Ciepły Obywatel (1,800 p.)

"The two kangaroos must land at the same location after making the same number of jumps."

Kangurki musza wyladowac w tym samym miejscu po zrobieniu tylu samo skoków

Gdy kangurki są na 6 to jeden musial skoczyć raz a drugi dwa razy więc to jest błędne i nigdy nie zwróci YES ponieważ jumpoffirst w tym przadku nie jest rowne jumpoffsecond

Kangurki spotkają się w punkcie 12 po 4skokach

Plus kod działa na zasadzie powtarzania się więc przy komendzie gdzie jest ++ może być tak ze zdąży dodac np do jumpsoffirst +3 wiec w tym miejscu tez lepiej gdyby bylo +=1

 

Zrób też żeby przy true wyswietlalo tez ilosc wykonanych skokow to Ci pozwoli sprawdzic przy ilu skokach jest błąd

Podobne pytania

0 głosów
2 odpowiedzi 237 wizyt
pytanie zadane 18 listopada 2018 w Python przez Eliro Stary wyjadacz (12,160 p.)
0 głosów
2 odpowiedzi 209 wizyt
pytanie zadane 5 czerwca 2021 w JavaScript przez poldeeek Mądrala (5,980 p.)
0 głosów
1 odpowiedź 106 wizyt
pytanie zadane 23 marca 2022 w Java przez Amakesh Nowicjusz (220 p.)

92,543 zapytań

141,383 odpowiedzi

319,482 komentarzy

61,929 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!

...