![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 4 655 Pomógł: 556 Dołączył: 17.03.2009 Skąd: Katowice Ostrzeżenie: (0%) ![]() ![]() |
Przeglądając forum, natknąłem na stary temat z zagadkami i jedną sobie skopiowałem:
Cytat Cztery osoby (nazwijmy je: Adam, Basia, Celina i Dorota) wybrały się samochodem na imprezę. Rozpętała się burza, parking jest dość oddalony od domu, a okazało się, że w samochodzie jest tylko jeden parasol! Adam idzie z parkingiu do domu - 1 minutę, Basia - 2, Celina - 5, a Dorota - 10. Pod parasolem mieszczą się naraz dwie osoby, a gdy idą, szybsza dostosowuje swe tempo do wolniejszej (czyli Adam z Dorotą szliby 10 minut). Aby nikt nie zmókł, wymyślili, że najpierw pójdzie Adam z Basią, Adam wróci z parasolem, potem Adam z Celiną, Adam wróci z parasolem, w końcu Adam z Dorotą. W sumie 2+1+5+1+10= 19 minut. Sposób niezły, ale istnieje lepszy - da się to zrobić w 17 minut. Pytanie: jak? Z tekstu wynikają pewne założenia: 1. Prędkość osób Adam - 1 minut Basia - 2 minuty Celina - 5 minut Dorota - 10 minut 2. Parasol - mieszą się pod nim naraz maksymalnie dwie osoby 3. Miejsca: a) Samochód ![]() 3. Osoba szybsza dostosowuje tempo do wolniejszej Zadanie: Napisz program, który rozwiąże zagadkę korzystając z wytycznych. Prosty zarys algorytmu jaki ja wymyśliłem:
Dwie tablice: Algorytm: < Uruchomienie pętli >
Zapisanie kroków - kto i w jakiej kolejności Porównanie czasu, jeżeli mniejszy od poprzedniego to przepisujemy kroki i zapisujemy czas <Powrót do początku pętli> Ja wymyśliłem taki algorytm... Jeszcze do końca nie wyszło mi napisanie tego, bo minimalny czas uzyskuję 19 minut - ale to błąd w moich wcześniejszych założeniach co do losowania. Jestem ciekawy, czy można zrobić to jakoś bardziej optymalnie. -------------------- Zainteresowania: C#, PHP, JS, SQL, AJAX, XML, C dla AVR
Chętnie pomogę, lecz zanim napiszesz: Wujek Google , Manual PHP |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 4 298 Pomógł: 447 Dołączył: 16.11.2006 Ostrzeżenie: (0%) ![]() ![]() |
Czas wykonania: 3 minuty, bo Adam nie był bucem i wysadził dziewczyny pod dom. ![]() -------------------- Nie udzielam pomocy poprzez PW i nie mam GG.
Niektóre języki programowania, na przykład C# są znane z niezwykłej przenośności (kompatybilność ze wszystkimi wersjami Visty jest wiele warta). |
|
|
![]()
Post
#3
|
|
![]() Grupa: Moderatorzy Postów: 4 362 Pomógł: 714 Dołączył: 12.02.2009 Skąd: Jak się położę tak leżę :D ![]() |
Żaden problem... Adam odprowadza Basię (2), wraca (1) i mówi pozostałym, że mają iść same razem (10). Sam wraca bez parasola - bo facet nie z cukru
![]() Wersja 2: Jedna z dziewczyn jest dziewczyną Adama. Pozostałe odprowadza, z dziewczyną zostają w samochodzie w celu wiadomym. Czas zakończenia - zależny od tego, która z dziewczyn jest dziewczyną Adama ![]() A tak poważniej... Zadanie jest nieprecyzyjne, ponieważ nie określa czy wszyscy idą do tego samego domu choćby ![]() -------------------- Najpierw był manual... Jeśli tam nie zawarto słów mądrości to zapytaj wszechwiedzącego Google zadając mu własciwe pytania. A jeśli i on milczy to Twój problem nie istnieje :D
|
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 4 655 Pomógł: 556 Dołączył: 17.03.2009 Skąd: Katowice Ostrzeżenie: (0%) ![]() ![]() |
Tak, idą do tego samego domu, dystans jest ten sam.
-------------------- Zainteresowania: C#, PHP, JS, SQL, AJAX, XML, C dla AVR
Chętnie pomogę, lecz zanim napiszesz: Wujek Google , Manual PHP |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 162 Pomógł: 12 Dołączył: 20.12.2009 Skąd: Siedlce Ostrzeżenie: (0%) ![]() ![]() |
Cytat Sposób niezły, ale istnieje lepszy - da się to zrobić w 17 minut. Pytanie: jak? Pewny jesteś, że istnieje sposób 17-sto minutowy? Chyba ze 4 opcje rozrysowałem na kartce i najszybszy 19min, najdłuższy 28min |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 455 Pomógł: 69 Dołączył: 23.10.2004 Skąd: Oświęcim Ostrzeżenie: (0%) ![]() ![]() |
Thek podał rozwiązanie:
Żaden problem... Adam odprowadza Basię (2), wraca (1) i mówi pozostałym, że mają iść same razem (10). Sam wraca bez parasola - bo facet nie z cukru. Na końcu Baśka wraca po niego (+4 minuty). Razem wychodzi 17. -------------------- |
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 4 655 Pomógł: 556 Dołączył: 17.03.2009 Skąd: Katowice Ostrzeżenie: (0%) ![]() ![]() |
@up
Dokładnie tak, ale chodzi mi o program/skrypt który tą zagadkę rozwiąże ![]() -------------------- Zainteresowania: C#, PHP, JS, SQL, AJAX, XML, C dla AVR
Chętnie pomogę, lecz zanim napiszesz: Wujek Google , Manual PHP |
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 6 476 Pomógł: 1306 Dołączył: 6.08.2006 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Przeglądnij sobie zestawy zadań z ostatnich 2-4 lat potyczek algorytmicznych (raczej zadania z początkowych etapów). O ile dobrze pamiętam, w którymś zadaniu Bajtaraz musiał wykonać analogiczne zadanie.
Ten post edytował Crozin 18.03.2013, 12:35:43 |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 19.07.2025 - 07:35 |