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

C++, podstawy, zadanie domowe

Object Storage Arubacloud
0 głosów
1,098 wizyt
pytanie zadane 20 września 2019 w C i C++ przez KamilKerry Początkujący (390 p.)
Nie mam żadnego pomysłu na to zadanie

Bajtek uczy się właśnie gry w szachy. Poznaje ruchy poszczególnych figur w tym króla. Dopuszczalne ruchy
króla oznaczone są na rysunku kropkami. Mając podaną pozycję króla i pozycję punku docelowego policz w
ilu (najmniej) ruchach król może się tam dostać.
UWAGA: Kolumna ’a’ ma numer 1, a kolumna ’h’ ma numer 8.

Wejście
W jednym wierszu wejścia podane są dwie liczby całkowite dodatnie w1 i k1 będące odpowiednio numerem
wiersza i kolumny pola, z którego startuje król. (1 ≤ w1, k1 ≤ 8). W kolejnym wierszu znajdują się dwie liczby
całkowite w2, k2 (1 ≤ w2, k2 ≤ 8) oznaczające pozycję docelową króla.
Wyjście
W pojedynczym wierszu powinna znaleźć się odpowiedź na postawiony problem: w ilu najmniej ruchach król
może przejść od pozycji startowej do pozycji docelowej.

Przykład 1
Dla danych wejściowych:
1 1
2 3
poprawnym wynikiem jest:
2
Przykład 2
Dla danych wejściowych:
1 1
8 8
poprawnym wynikiem jest:
7

2 odpowiedzi

+2 głosów
odpowiedź 20 września 2019 przez DawidK Nałogowiec (37,910 p.)

Przeczytaj o odległości Czebyszewa:

https://pl.wikipedia.org/wiki/Odleg%C5%82o%C5%9B%C4%87_Czebyszewa

oraz odległościach euklidesowej i miejskiej.

0 głosów
odpowiedź 20 września 2019 przez niezalogowany
przekątna 45 stopni + rzesza (pionowo lub poziomo) ja bym w tym kierunku próbował rozwiązać
komentarz 20 września 2019 przez DragonCoder Nałogowiec (36,500 p.)
Nie wiem czy bedzie prawidlowe dla wszystkich warunkow. Ale ja zrobiłbym to licząc przeciwprostokatna ze wzoru Pana Pitagorasa i zaokraglajac ja w dol. Sprawdza sie to tylko w wypadku, gdy wartosci x i y punktu docelowego sa od siebie rozne i gdy wartosci x/y miedzy punktem poczatkowym i koncowym tez sa rozne, bo inaczej idziesz w lini prostej lub na skos, wiec wystarczy podac roznice punktow. To powinno sie sprawdzic dla kazdego przypadku. Nie wiem, czy jest jakis gotowy algorytm, to pomysl na jaki ja wpadlem
komentarz 21 września 2019 przez niezalogowany
ja to bardziej myślę że to jest zadanie na wektory od współrzędnych końca odejmujemy początku A (3,2) B(1,1) = V[2,1 ](wektor opisuje prostokąt) czyli V[1,0 ] (linia) + V[1,1] (kwadrat) czyli jeden  ruch po linii i jeden po przekątnej czyli razem 2

A (8,8) B(1,1) = V[7,7 ] (kwadrat) 7 ruchów po przekątnej

Podobne pytania

0 głosów
0 odpowiedzi 985 wizyt
pytanie zadane 20 września 2019 w C i C++ przez KamilKerry Początkujący (390 p.)
0 głosów
1 odpowiedź 158 wizyt
pytanie zadane 31 października 2015 w C i C++ przez sofnir Gaduła (4,690 p.)
0 głosów
2 odpowiedzi 2,418 wizyt
pytanie zadane 4 listopada 2015 w C i C++ przez Lukasz95 Bywalec (2,160 p.)

92,589 zapytań

141,439 odpowiedzi

319,686 komentarzy

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

...