न्यूनतम विरल शासक


20

लंबाई n के एक मानक शासक में 0, 1, ..., n (जो भी इकाइयों में) पर दूरी के निशान हैं । एक विरल शासक के पास उन निशानों का एक उपसमूह होता है। एक शासक दूरी k को माप सकता है यदि इसमें p और q के साथ p - q = k के पदों पर निशान हों ।

चुनौती

एक सकारात्मक पूर्णांक n को देखते हुए , लंबाई n के विरल शासक में आवश्यक अंकों की न्यूनतम संख्या का उत्पादन करें ताकि यह सभी दूरी 1, 2, ..., n को माप सके ।

यह OEIS A046693 है

एक उदाहरण के रूप में, इनपुट 6 के लिए आउटपुट 4 है। अर्थात्, 0, 1, 4, 6 कार्यों के साथ एक शासक, 1 ,0 = 1, 6−4 = 2, 4−1 = 3, 4−0 के रूप में। = 4, 6 =1 = 5, और 6 ,0 = 6।

अतिरिक्त नियम

परीक्षण के मामलों

1   ->   2
2   ->   3
3   ->   3
4   ->   4
5   ->   4
6   ->   4
7   ->   5
8   ->   5
9   ->   5
10  ->   6
11  ->   6
12  ->   6
13  ->   6
14  ->   7
15  ->   7
16  ->   7
17  ->   7
18  ->   8
19  ->   8
20  ->   8
21  ->   8
22  ->   8
23  ->   8
24  ->   9
25  ->   9
26  ->   9
27  ->   9
28  ->   9
29  ->   9
30  ->  10
31  ->  10 
32  ->  10

जवाबों:


2

जेली , 14 बाइट्स

ŒcIQL
‘ŒPÇÐṀḢL

गैर-नकारात्मक पूर्णांकों को लेने और वापस करने वाला एक विचित्र लिंक।

इसे ऑनलाइन आज़माएं! (पहले 15 मूल्यों यहाँ - कुशल नहीं)

कैसे?

उन सभी शासकों को ढूँढता है जो 1 से n + 1 के माध्यम से अंक बना सकते हैं (उनकी अंकन-गणना द्वारा आदेशित [[1, n + 1] का पावर-सेट), और केवल वही रखता है जो अधिकतम औसत दर्जे की दूरी बनाते हैं (लंबाई) सभी अंकों के जोड़े के बीच अंतर का सेट), फिर पहले की लंबाई (यानी [एक] सबसे छोटा एक [एस]) देता है।

ŒcIQL - Link 1: number of measurable distances: list of numbers, ruler  e.g. [1,2,3,7]
Œc    - all pairs                                [[1,2],[1,3],[1,7],[2,3],[2,7],[3,7]]
  I   - incremental differences                                          [1,2,6,1,5,4]
   Q  - de-duplicate                                                       [1,2,6,5,4]
    L - length                                                                      5

‘ŒPÇÐṀḢL - Main link: number, n              e.g. 4
‘        - increment                              5
 ŒP      - power-set (implicit range of input)   [[],[1],[2],[3],[4],[5],[1,2],[1,3],[1,4],[1,5],[2,3],[2,4],[2,5],[3,4],[3,5],[4,5],[1,2,3],[1,2,4],[1,2,5],[1,3,4],[1,3,5],[1,4,5],[2,3,4],[2,3,5],[2,4,5],[3,4,5],[1,2,3,4],[1,2,3,5],[1,2,4,5],[1,3,4,5],[2,3,4,5],[1,2,3,4,5]]
    ÐṀ   - keep those maximal under:
   Ç     -   call the last link (1) as a monad   [[1,2,3,5],[1,2,4,5],[1,3,4,5],[1,2,3,4,5]]
      Ḣ  - head                                  [1,2,3,5]
       L - length                                 4



5

अजगर , 14 बाइट्स

lh.Ml{-M^Z2ySh

यहाँ कोशिश करो!

पायथ , 21 19 बाइट्स

hlMf!-SQmaFd.cT2ySh

यहाँ कोशिश करो!

यह काम किस प्रकार करता है

मैं इसे गोल्फ के बाद अपडेट करूंगा।

hSlMfqSQS {maFd.cT2ySh ~ पूर्ण कार्यक्रम प्र = इनपुट।

                   Sh ~ पूर्णांक सीमा [1, Q + 1]।
                  y ~ पॉवर्स
    f ~ फ़िल्टर (एक चर टी का उपयोग करता है)।
              .cT2 ~ टी के सभी दो-तत्व संयोजन।
          एम ~ नक्शा।
           एएफडी ~ पूर्ण अंतर से कम करें।
        S {~ डेडुप्लिकेट, सॉर्ट करें।
     qSQ ~ पूर्णांक श्रेणी [1, Q] के बराबर है?
  एलएम ~ लंबाई के साथ नक्शा।
एचएस ~ न्यूनतम।

मेरे दूसरे दृष्टिकोण के लिए एक बाइट को बचाने और मुझे अपने वर्तमान दृष्टिकोण से गोल्फ 3 बाइट्स के लिए प्रेरित करने के लिए isaacg का धन्यवाद !


चूँकि शक्तियाँ लंबाई द्वारा आदेशित होती हैं, पहला Sअनावश्यक है।
इसहाक

@isaacg धन्यवाद! आपके महान उत्तर (+1) ने मुझे मेरे नए दृष्टिकोण से 3 बाइट्स बचाने के लिए प्रेरित किया, जिससे यह 14 बाइट्स हो गया।
श्री एक्सकोडर


4

हस्क , 20 18 बाइट्स

λ▼mLfȯ≡⁰u´×≠tṖ⁰)…0

धन्यवाद @ H.PWiz -2 बाइट्स के लिए!

इसे ऑनलाइन आज़माएं!

व्याख्या

λ               )…0  -- lambda with argument ⁰ as [0..N]
              Ṗ⁰     -- all subsets of [0..N]
             t       -- tail (remove empty subset)
    f(      )        -- filter by following function:
           ≠         --   absolute differences
         ´×          --   of all pairs drawn from itself
        u            --   remove duplicates
      ≡⁰             --   "equal" to [0..N]
  mL                 -- map length
 ▼                   -- minimum

oa-के रूप में ही है
H.PWiz

@ H.PWiz यह वास्तव में केवल मायने रखता है कि उनकी लंबाई समान है, क्योंकि [0..N] श्रेणी के बाहर कोई अंतर नहीं हो सकता है।
मार्टिन एंडर

आप शायद उपयोग भी कर सकते हैं
मार्टिन एंडर

4

जेली , 17 बाइट्स

‘ŒPµạþ`FQḊṫ³µÐfḢL

इसे ऑनलाइन आज़माएं!

जोनाथन एलन को 1 बाइट धन्यवाद !


पावर-सेट को सबसे छोटे से सबसे लंबे समय तक सॉर्ट किया जाता है, इसलिए मुझे लगता है कि ḢLइसे ठीक होना चाहिए ..
जोनाथन एलन

3

अजगर, 15 बाइट्स

lhf!-SQ-M^T2yUh

परीक्षण सूट

यह काम किस प्रकार करता है

lhf!-SQ-M^T2yUh
             Uh    [0, 1, ... n]
            y      Powerset - all possible rulers
  f                Filer rulers on
         ^T2       All pairs of marks, in both orders
       -M          Differences - (a)
     SQ            [1, ... n], the desired list of differences - (b)
    -              Remove (a) from (b)
   !               Check that there's nothing left.
 h                 The first remaining ruler (powerset is ordered by size)
l                  Length

3

जेली , 17 बाइट्स

_þ`ẎQṢw
‘ŒPçÐfRḢL

इसे ऑनलाइन आज़माएं!

श्री Xcoder के जवाब के लिए एक चाल उधार -1।
-1 जोनाथन एलन को धन्यवाद ।


पावर-सेट को सबसे छोटे से सबसे लंबे समय तक सॉर्ट किया जाता है, इसलिए मुझे लगता है कि ḢLइसे ठीक होना चाहिए ..
जोनाथन एलन

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.