यह चुनौती एक पहेली से दूर है जो मैंने कुछ समय पहले किसी किताब में पढ़ी थी, जो मुझे फिर से यहाँ मिली । यह एक बंदूक से एक बार प्रति सेकंड अलग गति से चलने वाली गोलियों के बारे में है जो एक सीधी रेखा में हमेशा के लिए यात्रा करती है। जब एक गोली दूसरे से टकराती है, तो दोनों पूरी तरह से नष्ट हो जाते हैं। ("मिसाइल" के साथ "बुलेट" के सभी उदाहरणों को बदलने के लिए स्वतंत्र महसूस करें।)
काम
जिस क्रम में उन्हें निकाल दिया गया है, उसमें बुलेट की गति की सूची को देखते हुए, यह निर्धारित करें कि क्या सभी गोलियां नष्ट हो गई हैं।
नियम
- इनपुट गैर-नकारात्मक पूर्णांक की एक सूची है, जिसे किसी भी सीमांकक द्वारा अलग किया गया है और पहले और बाद में एक वैकल्पिक चरित्र के साथ। ये मान्य इनपुट हैं:
1 2 3 4 5 6
और[1,2,3,4,5,6]
। प्रोग्रामर चुनाव करता है। - एक सत्य मूल्य का उत्पादन करें यदि कम से कम एक गोली हमेशा के लिए बच जाए और एक मिथ्या मूल्य।
- प्रति सेकंड इकाइयों में बुलेट की गति दी जाती है।
- गोलियां एक साथ और लगातार चलती हैं।
- गोलियां भिन्नात्मक ऑफसेट पर टकरा सकती हैं।
- कई गोलियां जो एक साथ एक ही स्थिति में पहुंचती हैं, चाहे वह मूल से एक अभिन्न या आंशिक ऑफसेट हो, सभी एक दूसरे से टकराते हैं।
उदाहरण
इन आरेखों में, G
बंदूक, >
गोलियों का प्रतिनिधित्व करता है , और *
ऐसे समय होते हैं जब गोलियां टकराती हैं और फट जाती हैं।
Truthy
इनपुट: 0
0123456789
Time 0 G>
1 G>
2 G>
...
आउटपुट: 1
इनपुट: 0 0 0
0123456789
Time 0 G>
1 G*
2 G>
3 G>
4 G>
...
आउटपुट: 1
इनपुट: 1
0123456789
Time 0 G>
1 G >
2 G >
3 G >
...
आउटपुट: 1
इनपुट: 2 1
0123456789
Time 0 G>
1 G> >
2 G > >
3 G > >
4 G > >
...
आउटपुट: 1
इनपुट: 2 3 1
0123456789
Time 0 G>
1 G> >
2 G> >>
3 G > *
4 G >
5 G >
...
आउटपुट: 1
Falsy
इनपुट: 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
आउटपुट: 0
इनपुट: 1 0 0 3
Unit
0123456789
Time 0 G>
1 G>>
2 G* >
3 G> >
4 G >>
5 G *
(दूसरी टक्कर 4.5 समय पर है)
आउटपुट:0
इनपुट: 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
आउटपुट: 0
इनपुट: 2 3 6
Unit
0123456789
Time 0 G>
1 G> >
2 G> >>
3 G *
आउटपुट: 0
1<enter>2<enter>3...
?