Wyzwanie to opiera się na zagadce, którą czytałem jakiś czas temu w książce, którą znalazłem tutaj ponownie . Chodzi o pociski wystrzeliwane z pistoletu raz na sekundę z różnymi prędkościami, które na zawsze przemieszczają się w linii prostej. Kiedy jedna kula trafi w drugą, obie zostają całkowicie zniszczone. (Zachęcamy do zastąpienia wszystkich przypadków „pocisku” słowem „pocisk”).
Zadanie
Biorąc pod uwagę listę prędkości pocisków w kolejności, w jakiej zostały wystrzelone, określ, czy wszystkie pociski są zniszczone.
Zasady
- Dane wejściowe to lista nieujemnych liczb całkowitych oddzielonych dowolnym separatorem i jednym opcjonalnym znakiem przed i po. Są to prawidłowe dane wejściowe:
1 2 3 4 5 6i[1,2,3,4,5,6]. Programista dokonuje wyboru. - Podaj wartość prawdy, jeśli przynajmniej jedna kula przeżyje na zawsze, a wartość fałszowania w przeciwnym razie.
- Prędkości pocisków są podawane w jednostkach na sekundę.
- Pociski poruszają się jednocześnie i ciągle.
- Pociski mogą zderzać się z przesunięciem ułamkowym.
- Wiele pocisków, które jednocześnie osiągają dokładnie to samo położenie, niezależnie od tego, czy są to integralne, czy ułamkowe przesunięcia względem początku, wszystkie zderzają się ze sobą.
Przykłady
Na tych schematach Greprezentuje broń, >pociski i *czasy, w których pociski zderzają się i wybuchają.
Prawda
Wejście: 0
0123456789
Time 0 G>
1 G>
2 G>
...
Wynik: 1
Wejście: 0 0 0
0123456789
Time 0 G>
1 G*
2 G>
3 G>
4 G>
...
Wynik: 1
Wejście: 1
0123456789
Time 0 G>
1 G >
2 G >
3 G >
...
Wynik: 1
Wejście: 2 1
0123456789
Time 0 G>
1 G> >
2 G > >
3 G > >
4 G > >
...
Wynik: 1
Wejście: 2 3 1
0123456789
Time 0 G>
1 G> >
2 G> >>
3 G > *
4 G >
5 G >
...
Wynik: 1
Falsy
Wejście: 1 2 3 4 5 6
Unit 1111111111
01234567890123456789
Time 0 G>
1 G>>
2 G> *
3 G> >
4 G> > >
5 G> > >>
6 G > > *
7 G > >
8 G > >
9 G >>
10 G *
111111111122222222223
0123456789012345678901234567890
Wynik: 0
Wejście: 1 0 0 3
Unit
0123456789
Time 0 G>
1 G>>
2 G* >
3 G> >
4 G >>
5 G *
(Drugie zderzenie ma miejsce 4.5)
Wyjście:0
Wejście: 2 1 2 3 6 5
Unit 1111111111
01234567890123456789
Time 0 G>
1 G> >
2 G>> >
3 G> * >
4 G> > >
5 G> * >
6 G > >
7 G > >
8 G >>
9 G *
1111111111
01234567890123456789
Wynik: 0
Wejście: 2 3 6
Unit
0123456789
Time 0 G>
1 G> >
2 G> >>
3 G *
Wynik: 0
1<enter>2<enter>3...?