टॉप थ्री....

Submitted by हिम्सकूल on 21 July, 2008 - 08:02

एका माणसाकडे २५ घोडे असतात आणी त्याला त्यातील ३ सर्वात वेगवान घोडे निवडायचे असतात्..पण त्याच्याकडे फक्त ५ घोडे एका वेळी पळु शकतील असा रनिंग ट्रॅक असतो, आणी स्टॉप वॉच वगैरे काही नसते... तर त्याला ते तीन घोडे निवडायला कमीतकमी किती वेळा शर्यती घ्याव्या लागतील??
ह्या कोड्याचे उत्तर.. Ramchandrac ह्या आयडीला माहिती आहे.. त्यानी हे कोडे आज सिंहगड रोड बीबी वर विचारले होते...

Group content visibility: 
Public - accessible to all site users

पण एकाच गटातील पाचही घोडे इतर सर्व घोड्यांपेक्षा वेगात धावणारे असतील ही शक्यता यातील बरीच उत्तरे चुकवते. उदा: उपास च्या किंवा क्लीओ च्या उत्तरातील एका गटातील तीन किंवा रनर अप निवडल्यावर उरलेले घोडे हे इतर गटातील सर्वात वेगवान घोड्यापेक्षा जास्त वेगाने धावणारे असू शकतात.

मी वरती जे उत्तर लिहीले आहे ७ किंवा ९ ते याप्रमाणे. यापेक्षाही कमी शर्यतीत निवडता येत असेल तर ती आयडिया जबरी असेल.

पहिल्यांदा पाच पाच चे पाच गट करून त्यांच्या स्पर्धा. सहावी शर्यत त्यांतील विजेत्यांची. त्यातून जिंकणारा हा विजेता-१. आता त्यातील क्र. २ घोडा त्याच्या गटापेक्षा व बाकीच्या तीन्ही गटापेक्षा वेगवान आहे, म्हणून त्याची स्पर्धा पक्त क्र. १ च्या गटातील उरलेल्यांशी. ही सातवी. त्यात त्याचा नंबर तीन किंवा जास्त आला तर या स्पर्धेतील पहिले दोन घोडे हे विजेता-२ व विजेता-३ मिळाले. म्हणजे ७ शर्यतीत कळले ते तीन कोणते ते.

आता या सातव्या शर्यतीत तो दुसरा आला तरी सातव्या शर्यतीतील पहिला घोडा व हा (सहाव्या व सातव्या दोन्ही मधे दुसरा आलेला) घोडा हे विजेता-२ व विजेता-३.

पण सातव्या शर्यतीत तो पहिला आला तर आणखी दोन शर्यती लागतीलः कारण हा घोडा विजेता-२ होईल. पण तिसर्‍या नंबरचा घोडा ठरवायला सहाव्या शर्यतीतील क्र. ३ चा घोडा विजेता-१ च्या गटातील उरलेल्या घोड्यांबरोबर पळून (शर्यत ८) त्यात जिंकणारा विजेता-२ च्या गटातील उरलेल्या घोड्यांबरोबर पळेल (शर्यत ९). त्यातील जिंकणारा हा विजेता-३ घोडा.

म्हणजे ७ व्या शर्यतीच्या निकालाप्रमाणे ७ किंवा ९ शर्यती लागतील. पण वरती Ramchandrac यांनी लिहील्याप्रमाणे जर हे ही चुकीचे असेल आणि आणखी कमी शर्यत्तीत उत्तर मिळू शकत असेल तर भन्नाट आयडिया असेल - ती काय आहे ती उत्सुकता आहे.

टण्या, नाही, शर्यत एकच कारण ते एकमेकांशी स्पर्धा करत आहेत. दिशा कुठली का असेना, ते एकाच वेळी निघत आहेत, ते समान अंतर धावत आहेत आणि त्यांना शेवटी एकाच बिंदूला पोहोचायचे आहे. परिणामी, १० घोडे एकमेकांशी शर्यत खेळत आहेत अन् ती एकच आहे. त्यातून १ ते १० क्रमांक निघणार आहेत. ट्रॅक किती वेळा वापरला गेला याचा 'किती शर्यती झाल्या' याच्याशी काहीच संबंध नाही. किती घोडे एका वेळी एकमेकांशी स्पर्धा करत आहेत यावरून त्या शर्यतीतली घोड्यांची संख्या ठरते. माझा प्रयत्न ती संख्या वाढवण्याचा आहे एवढेच.
.
चिनूक्स, ह्म्म्म.... हा तांत्रिक भाग होईल का ? ते गेट काढा. गेट पाहिजेच ही आवश्यकता नाही. तुझं ५x५ चं उत्तर आणखी स्पष्ट करशील का ?
.
केदार, एका ट्रॅकवर शर्यत एकच आहे, मी वर ते स्पष्ट केले आहे. इथे शर्यत म्हणजे काय हे समजून घेताना गल्लत होतीये का ? शर्यत ही एक गणली जाईल जेव्हा सर्व पळणारे सर्व पळणार्‍यांशी स्पर्धा करत आहेत. प्रत्येक घोडा इतर नवांशी स्पर्धा करत आहे. ते धडकतील हे खरे, पण वस्तुस्थितीकडेच बघायचे झाले तर 'स्टॉपवॉच नसणे' ही तरी वस्तुस्थिती म्हणता येईल का ? Happy
.
उपास, एक म्हणजे २५ घोडे एकाच वेळी ट्रॅकवर पळवता येतील, पण ती 'शर्यत' कशी होईल ? दुसरे म्हणजे घड्याळ नाहीये आपल्याकडे, त्यामुळे ते २५ घोडे स्वतंत्र पळाले तर आपल्याला उपयोग नाही. तिसरे म्हणजे त्यात 'एकमेकांशी शर्यत होणे' हा प्रकार किती वेळा होतोय त्यावरून शर्यती किती होत आहेत हे ठरते, ट्रॅक किती वेळा वापरला जातोय त्यावरून नव्हे. (हेही मी माझ्या एका पोस्टमध्ये स्पष्ट केले आहे.)
.
खरं सांगायचं झालं तर मी हे उत्तर अर्ध-गमतीत अर्ध-गांभीर्याने दिलं. अगदी घट्ट गृहीतकांपलीकडे जाऊन काही विचार करता येतोय का असा दृष्टीकोन. पण आता त्यातली छिद्रं बुजवायला मजा येत आहे म्हणून हा लेखनप्रपंच. Happy असो.
.
फारेंडचे उत्तर मला पटते. पण फारेंड, तुला क्लिओ आणि उपासाच्या उत्तरांमध्ये जी उणीव दिसत आहे ती नाहीये असं मला वाटतं.

    ***
    माटी कहै कुम्हार को तू क्या रूँदै मोहि
    एक दिन ऐसा होयगा मैं रूँदूँगी तोहि

    माझंही उत्तर फारेंडसारखंच आहे. फक्त ७ पेक्षा अधिक शर्यतींची गरज बहुधा नसावी.

    आहे ना स्लर्ती. उपास पहिले तीन घेतो प्रत्येक शर्यतीतील त्यामुळे एका गटातले पाचही दुसर्‍या गटापेक्षा वेगवान असतील तरी दुसर्‍या गटातले तीन त्यांच्या पुढे जातात. क्लिओ सुद्धा सातव्या शर्यातीत रनर्-अप घेतो आणि त्यातील जिंकणार्‍यास पुढे खेळवतो. पण तेथे ही तसेच होउ शकते.

    आता उत्तर येउ द्या Happy

    >>> उपास पहिले तीन घेतो प्रत्येक शर्यतीतील त्यामुळे एका गटातले पाचही दुसर्‍या गटापेक्षा वेगवान असतील तरी दुसर्‍या गटातले तीन त्यांच्या पुढे जातात.
    कसे रे ? जरी गट १ मधले पाचही दुसर्‍या गटापेक्षा वेगवान असले तरी त्यातले पहिले ३ आपण घेतलेच आहेत. ते ३ जोपर्यंत शर्यतीत आहेत तोपर्यंत उरलेल्या दोघांचा विचार करण्याची गरज नाही. जर त्या ३ पैकी एक हरला तरी त्याच्या जागी येणारा हा गट १ मधल्या उरलेल्या २ पेक्षा अधिक वेगवान आहे.

      ***
      माटी कहै कुम्हार को तू क्या रूँदै मोहि
      एक दिन ऐसा होयगा मैं रूँदूँगी तोहि

      बरोबर स्लर्ती. मला आधी लक्षात आले नाही.

      मित्रानो... खुप त्रास दिला तुमच्या डोक्याला त्याबद्दल क्षमस्व... या कोड्याचे उत्तर आहे ८ शर्यती...
      कसे ते सांगु की अजुन विचार करणार आहात????

      सातव्या शर्यतीत जर पहिल्या पाच पैकी दोन नंबरचा घोडा जर पहिला आला, तर त्यातील (सातव्या शर्यतीतील) दुसरा, दोन नंबरच्या गटातील दुसरा व सातव्या शर्यतीतील ३ नंबरचा घोडा यांची आठवी शर्यत व त्यातून विजेता-३ मिळेल. हे बरोबर का?

      फारेंडा तु थोडे जवळ आला आहेस उत्तराच्या पण.... Happy

      श्या !! फारच झोपलो होतो...
      शर्यत ६ : पाच विजेते, त्यात जिंकणारा तो क्र.१
      शर्यत ७ : क्र.१ च्या गटातला २रा आणि शर्यत ६ मधला २रा. यात जिंकणारा तो क्र.२.
      शर्यत ८ : क्र. ३ साठी -
      अ) शर्यत ७ मध्ये क्र.१ च्या गटातला २रा जिंकला तर क्र. १ च्या गटातला ३रा आणि शर्यत ७ मधला उरलेला (= शर्यत ६ मधला २रा).
      ब) शर्यत ७ मध्ये शर्यत ६ मधला २रा जिंकला, तर क्र. १च्या गटातला २रा आणि शर्यत ६ मधला ३रा.

        ***
        माटी कहै कुम्हार को तू क्या रूँदै मोहि
        एक दिन ऐसा होयगा मैं रूँदूँगी तोहि

        Happy अरे पण एक चूक झालीये शर्यत ८(ब) मध्ये. ती खरं तर अशी पाहिजे -
        शर्यत ८ ब) शर्यत ७ मध्ये शर्यत ६ मधला २रा जिंकला, तर क्र. १च्या गटातला २रा, शर्यत ६ मधला ३रा आणि शर्यत ६ मधल्या २र्‍याच्या गटातला २रा (कारण शर्यत ६ मधल्या २र्‍याच्या गटातला २रा आणि शर्यत ६ मधला ३रा यांत कोणीही अधिक वेगवान असू शकतं.)
        मला अजूनही ४ हे उत्तर बरोबर वाटतं Proud

          ***
          माटी कहै कुम्हार को तू क्या रूँदै मोहि
          एक दिन ऐसा होयगा मैं रूँदूँगी तोहि

          स्लर्टी मस्तच..
          फारेंड, स्लर्टी म्हणतोय तसाच विचार केला मी, की एकदा गटातले पहिले तीन मिळाले की बाकिच्यांचा विचार करायची गरज नाही, जर ते खरच इतरांपेक्षा वरचढ असतील तर आपोआप स्पर्धेत टीकतील Happy

          असो, पण वरच स्लार्टीच उत्तर बरोबर वाटतय.. त्यातून दिशा घेउन पाहिलं तर असं वाटतय...

          सहावी रेस
          सगळ्यांना पाच गटात विभागून प्रत्येक्त गटात जिंकलेल्यांची सहावी रेस, म्हणजे सहाव्या रेसच्या शेवटी सगळ्यात वेगवान घोडा मिळेल.
          सातवी रेस
          मग तो विजेता घोडा ज्या गटात असेल, त्या गटातला दुसर्या नंबरचा घोडा आणि शर्यत सहा मधला दुसर्या नंबरचा घोडा (ते नेहमी वेगळेच असणार) ह्यात जो वेगवान असेल तो दुसर्या नंबरवर..
          आठवी रेस
          आणि हाच तर्क जर पुढे नेला तर शर्यत सहा मधला तिसर्या नंबरचा, शर्यत सात मधला हरलेला आणि सगळ्यात वेगवान घोड्याच्या गटातला तिसर्या नंबरचा ह्यात जो जिंकेल तो तिसर्या नंबरचा..

          बरोबर पटतय का?

          हुश्श.. Happy

          Above answer fits in which sorting algorithm?
          .
          I found marathi_vachak solution more logical and doable, called as bubble sorting in computers.

          I believe this is quick sort, its normally takes less iterations but less intutive..

          हो उपास, ते सुरूवातीला तू लिहीलेले वाचले तेव्हा झेपले नाही, पण मग नंतर स्लर्तीने विशद वगैरे करून सांगितल्यावर समजले. Happy

          तुझ्या या लेटेस्ट उत्तरात...
          सातवी रेस: यात जिंकणार्‍या घोड्याच्या गटातील फक्त दुसरा घेण्यापेक्षा दुसरा व तिसरा घेतला तर आणखी फायदा आहे, कारण या सातव्या शर्यतीत त्या दोघांपैकी एक जरी पहिला आला तर याच शर्यतीत तिन्ही विजेते मिळतात.
          तसे नाही झाले तर आठवी रेस आहेच. फक्त आता त्यात सहाव्या शर्यतीत दुसर्‍या आलेल्या घोड्याच्या गटातील दुसरा घोडा सुद्धा आणावा लागेल.

          आता मी थांबतो. आणखी लिहीले तर मलाच कळणार नाही मी काय लिहीतोय. कदाचित आत्ताही तसे झाले असेल Happy

          अमोल, उपास, स्लार्टी आणि इतर
          मला कोणीतरी सांगा समजावुन, ज्या सगळ्यांनी ८ उत्तर काढलय,
          मला ६-७-८ रेस कळली पहिल्या ५ नाही. Happy
          २५ घोड्यांमधुन ५ घोड्यांचा एक गट असे करुन घोड्यांच्या ५ रेस मधुन ५ विजेते घोडे काढायचे का? हे मला बरोबर कळलेय का? असे असेल तर मला एक प्रश्न आहे, पहिल्या रेस मध्ये दुसरा येणारा घोडा हा कश्यावरुन इतर ४ रेस मध्ये धावणार्‍या पहिल्या घोडांपेक्षा स्लो असेल?
          +
          + (मला पॅराग्राफ पाडता येत नाही :()
          आता मी थांबतो. आणखी लिहीले तर मलाच कळणार नाही मी काय लिहीतोय. कदाचित आत्ताही तसे झाले असेल >>>> सेम पिंच अमोल Happy

          अमोल, मला वाटतं, दुसर्या नंबरसाठी दोघांची आणि तिसर्या नंबरसाठी तिघांची तुलना करावी लागेल..

          रुणी, २५ घोड्यांमधुन ५ घोड्यांचा एक गट असे करुन घोड्यांच्या ५ रेस मधुन ५ विजेते घोडे काढायचे हा तुझा अंदाज बरोबर आहे..
          आता तुझा प्रश्न --
          पहिल्या रेस मध्ये दुसरा येणारा घोडा हा कश्यावरुन इतर ४ रेस मध्ये धावणार्‍या पहिल्या घोडांपेक्षा स्लो असेल?
          पहिल्या रेस मधे दुसरा येणारा घोडा हा इतर ४ रेस मधे धावणार्या पहिल्या घोड्यांपेक्षा वेगवान असेलही.. आणि म्हणूनच बघ बर आपण सातव्या रेस मधे काय म्हटलय.. कोणाची शर्यत लावलेय?
          १. तो विजेता घोडा ज्या गटात असेल, त्या गटातला दुसर्या नंबरचा घोडा -- (म्हणजे इथे तू म्हणतेयस तो..)
          २. आणि सहाव्या फेरीत दुसरा आलेला..
          ह्यातले गमक हे आहे की, दुसर्या क्रमांकासाठी फक्त २ च शक्यता उरतात आणि हे लक्षात आले की लगेच उकल होते.. बरोबर ना? Happy

          बरं दुसर्या शब्दात सांगायचं तर --
          सहावी शर्यत ही आपापल्या गटात पहिले आलेल्यांची शर्यत आहे. त्यामुळे ह्या सहाव्या शर्यतीत पहिला आलेला घोडा हा सगळ्यात वेगवान, दुसरा आलेला घोडा हा
          १. त्याच्या गटात अव्वल आहेच पण पहिल्या आलेल्या घोड्याचा गट सोडून इतर गटाच्या अव्वलांपेक्शा अव्वल आहे, वेगवान आहे.
          २. म्हणजे ह्या सहाव्या फेरीत दुसर्या आलेल्या घोड्याची तुलना सहाव्या फेरीत पहिल्या आलेल्या (सगळ्या २५ घोड्यात वेगवान) घोड्याच्या गटातील दुसर्या नंबरच्या घोड्याशी केली की झाले... त्यात जो जिता वही दुसरा नंबर Happy

          भाई सहीच..
          माझ्या मनात काल रात्री तोच विचार आला की सातव्या शर्यतीत २ आणि आठव्या शर्यतीत तीन घोडे दामटवणार असू तर मग त्यांची एकच शर्यत घेतली तर काय हरकत आहे, आपल्याकडे पाच ट्रॅक आहेतच.. मस्त! Happy
          सात हेच उत्तर असावे... भाईंनी स्पष्टीकरण दिले आहेच..

          ५x५ चं matrix करून ७ शर्यती घ्याव्या लागतील, हे लिहीलं होतं मी, पण ते चूक असं सांगितलं गेलं...

          मला येत असलेले उत्तर....
          पहिल्या ५ शर्यती ५ विनर..
          ६ वी शर्यत... सर्व विनर्सची जो जिंकेल तो नं १...
          ७ वी शर्यत... ६ व्या शर्यतीतील उरलेले ४ आणी जिंकणार्या घोड्याच्या ग्रुप मधील २ नं चा घोडा ... जो जिंकेल तो नं २...
          ८ वी शर्यत... ७ व्या शर्यतीतील उरलेले ४ घोडे आणी ७ वी शर्यत जिंकणार्या घोड्याच्या ग्रुप मधील त्याच्या नंतर चा घोडा... जो जिंकेल तो नं ३...
          अनिल भाई तुमच्या उत्तरावर विचार करतो आहे.. Uhoh

          Ramchandrac म्हन्जे काय आहे कोनि सान्गेल काय.

          रामचंद्र, सातव्या शर्यतीत दुसर्या क्रमांकासाठीच विचार केला तर ६ व्या शर्यतीतल्या उर्वरीत सगळ्या म्हणजे चार घोड्यांची काय आवश्यकता? कारण ६ व्या शर्यतीतला दुसर्या नं चा घोडा त्या शर्यतीतल्या तिसर्या, चौथ्या आणि पाचव्या घोड्यापेक्षा नेहमीच जलद असणार.
          हा तर्क जर तिसर्या क्रमांकासाठी पुढे नेला तर सातव्या शर्यतीत सहाव्या शर्यतीतले दुसर्‍या आणि तिसर्या नं चे घोडे, पहिल्यां नं च्या घोड्याच्या गटातले दुसर्या आणि तिसर्या नं चे घोडे आणि दुसर्‍या नं च्या घोड्याच्या गटातला दुसरा नंचा घोडा असे पाच घोडे पळवले की झालं..

          भाई तुमच्या logic मधल्या
          "Now C-1 can be at 2nd position so C-2 can be at 3rd position so C-3 is eliminated.
          E-1 can be at 3rd place so E-2 and E-3 are eliminated."
          ह्या स्टेप मधे problem आहे. C and E can be interchanged. Since there is no stop watch you do not know if C2 is faster than E2 or vice versa. They have run into different races. All you know is C2 is slower than C1 and E2 is slower than E1.
          त्यामूळे ramachradac चे solution बरोबर आहे.

          मला उपासचं बरोबर वाटतय पण अनिलभाईंचं अजून वाचलं नाही. २-३ दिवस यात घालवल्यावर सब घोडे बारा टक्केच दिसतायत Happy

          अरे, जन्ता शेवटी चिनूक्सच बरोबर आहे तर (आश्चर्य नाही, COEPचं पाणी :फिदी:) चिनूक्स, ते ५x५ आणखी व्यवस्थित समजावून सांगशील का ?
          उपासने सुचवलेले बरोबर आहे. म्हणजे मी सांगितलेले ८(अ) आणि ८(ब) या शर्यती वेगळ्या करण्याची गरजच नाही. त्या दोन्ही शक्यता ७व्या शर्यतीत पळवता येतील.
          ७वी शर्यत अशी होईल - शर्यत ६ मधला २रा, क्र.१च्या गटातला २रा (या दोघांमधून क्र.२ निघेल), शर्यत ६ मधल्या २र्‍याच्या गटातील २रा, क्र.१च्या गटातील ३रा, शर्यत ६ मधला ३रा.

            ***
            माटी कहै कुम्हार को तू क्या रूँदै मोहि
            एक दिन ऐसा होयगा मैं रूँदूँगी तोहि

            You got it Slarti.. काय रे पण मी COEP चा नाही पण.. Proud

            दुसर्या क्रमांकासाठी दोघांची तुलना आणि तिसर्या क्रमांकासाठी तिघांची तुलना अनिवार्य ठरते आणि पुरेशीसुद्धा.. Happy (necessary & sufficient)
            असामी, भांईचं उत्तर पूर्ण निरखून बघायला वेळ नाही झाला पण ते असंच काहितरी करत असावेत असं पहाताक्षणी वाटलं..

            >>> C and E can be interchanged. Since there is no stop watch you do not know if C2 is faster than E2 or vice versa. They have run into different races. All you know is C2 is slower than C1 and E2 is slower than E1.
            असाम्या, ई१ हा कधीच क्र.२ होणार नाही कारण त्याच्यापेक्षा अधिक वेगवान असा सी१ शर्यतीत आहे. बरोबर ? याचाच अर्थ ई१ हा 'जास्तीत जास्त' क्र.३ होऊ शकतो. पण त्यामुळे ई२ हा कधीच क्र.३ होणार नाही कारण त्याच्यापेक्षा वेगवान असा ई१ अनिलभाईंनी शर्यतीत घेतला आहे. जरी ई२ हा सी२ पेक्षा अधिक वेगवान असला तरी ई१ हा ई२ पेक्षा अधिक वेगवान आहेच. त्यामुळे ई२ घेण्याची गरज नाहीच. परंतु, ई१ आणि सी२ यांत कोणीही अधिक वेगवान असू शकते, त्यामुळे सी२ घेतला पाहिजे, जे अनिलभाईंनी केले आहे. त्यामुळे अनिलभाईंचा तर्कही बरोबर आहे.

              ***
              माटी कहै कुम्हार को तू क्या रूँदै मोहि
              एक दिन ऐसा होयगा मैं रूँदूँगी तोहि

              >>> काय रे पण मी COEP चा नाही पण..
              ठिक आहे रे, nobody is perfect Proud

                ***
                माटी कहै कुम्हार को तू क्या रूँदै मोहि
                एक दिन ऐसा होयगा मैं रूँदूँगी तोहि

                Pages