অচল, স্ট্যাক, যোগফল


15

এই স্ট্যাক ওভারফ্লো প্রশ্ন দ্বারা অনুপ্রাণিত

চ্যালেঞ্জ

ইনপুট

অ-নেতিবাচক পূর্ণসংখ্যাগুলি সহ বর্গীয় ম্যাট্রিকের একটি অ্যারে es

আউটপুট

নিম্নলিখিত হিসাবে ইনপুট ম্যাট্রিক্স থেকে নির্মিত একটি বর্গ ম্যাট্রিক্স।

যাক এন×এন প্রতিটি ইনপুট ম্যাট্রিক্স আকার, এবং হতে পি ইনপুট ম্যাট্রিক্স সংখ্যা।

স্পষ্টতার জন্য, নিম্নলিখিত উদাহরণটি ইনপুট ম্যাট্রিকেসগুলি বিবেচনা করুন ( এন=2 , পি=3 ):

 3   5
 4  10

 6   8
12  11

 2   0
 9   1
  1. প্রথম ইনপুট ম্যাট্রিক্স দিয়ে শুরু করুন।
  2. দ্বিতীয় ইনপুট ম্যাট্রিক্স N −1 ধাপ নীচে এবং N −1 ধাপ ডানদিকে সরিয়ে দিন, যাতে এর উপরের-বাম এন্ট্রিটি পূর্বেরটির নীচের-ডান প্রবেশের সাথে মিলে যায়।
  3. দ্বিতীয়টি স্থানান্তরিত ম্যাট্রিক্সটি এমনভাবে কল্পনা করুন যেন এটি প্রথমটির উপরে সজ্জিত। কাকতালীয় এন্ট্রি এ দুটি মান যোগ করুন। অন্যান্য মানগুলি লিখুন এবং 0একটি (2এন-1)×(2এন-1) ম্যাট্রিক্স পেতে বাকি এন্ট্রিগুলি পূরণ করুন । উদাহরণ ইনপুট সহ, ফলাফল এখন পর্যন্ত

     3   5   0
     4  16   8
     0  12  11
    
  4. প্রতিটি অবশিষ্ট ইনপুট ম্যাট্রিক্সের জন্য, এটি স্তম্ভিত করুন যাতে এটির উপরের-বামগুলি এখন পর্যন্ত জমা হওয়া ফলাফলের ম্যাট্রিক্সের নীচের ডানদিকে মিলিত হয়। উদাহরণস্বরূপ, তৃতীয় ইনপুট ম্যাট্রিক্স সহ দেয়

     3   5   0   0
     4  16   8   0
     0  12  13   0
     0   0   9   1
    
  5. আউটপুটটি হ'ল ((এন-1)পি+ +1)×((এন-1)পি+ +1) ম্যাট্রিক্স শেষ ইনপুট ম্যাট্রিক্স সহ পর প্রাপ্ত।

অতিরিক্ত নিয়ম এবং স্পষ্টতা

পরীক্ষার কেস:

প্রতিটি ক্ষেত্রে ইনপুট ম্যাট্রিকগুলি প্রথমে প্রদর্শিত হবে, তারপরে আউটপুট।

  1. এন=2 , পি=3 :

     3   5
     4  10
    
     6   8
    12  11
    
     2   0
     9   1
    
     3   5   0   0
     4  16   8   0
     0  12  13   0
     0   0   9   1
    
  2. এন=2 , পি=1 :

     3   5
     4  10
    
     3   5
     4  10
    
  3. এন=1 , পি=4 :

     4
    
     7
    
    23
    
     5
    
    39
    
  4. এন=3 , পি=2 :

    11  11   8
     6   8  12
    11   0   4
    
     4   1  13
     9  19  11
    13   4   2
    
    11  11   8   0   0
     6   8  12   0   0
    11   0   8   1  13
     0   0   9  19  11
     0   0  13   4   2
    
  5. এন=2 ,পি=4 :

    14  13
    10   0
    
    13  20
    21   3
    
     9  22
     0   8
    
    17   3
    19  16
    
    14  13   0   0   0
    10  13  20   0   0
     0  21  12  22   0
     0   0   0  25   3
     0   0   0  19  16
    

এর জন্য আপনার এমএটিএল সলিউশনটি আর কত দিন?
জিউসেপে

@ জিউস্পেপ আমি এমএটিএল-তে চেষ্টা করে দেখিনি। পরীক্ষার ক্ষেত্রে আমি লিঙ্কিত প্রশ্নে আমার উত্তর থেকে ম্যাটল্যাব কোডটি ব্যবহার করেছি
লুইস মেন্ডো

উত্তর:


4

জেলি , 15 12 বাইট

⁹ṖŻ€ƒZƲ⁺+µ@/

এটি অনলাইন চেষ্টা করুন!

কিভাবে এটা কাজ করে

⁹ṖŻ€ƒZƲ⁺+µ@/  Main link. Argument: A (array of matrices)

         µ    Begin a monadic chain.
          @/  Reduce A by the previous chain, with swapped arguments.
                Dyadic chain. Arguments: M, N (matrices)
      Ʋ           Combine the links to the left into a monadic chain with arg. M.
⁹                 Set the return value to N.
 Ṗ                Pop; remove its last row.
     Z            Zip; yield M transposed.
    ƒ             Fold popped N, using the link to the left as folding function and
                  transposed M as initial value.
  Ż€                Prepend a zero to each row of the left argument.
                    The right argument is ignored.
       ⁺        Duplicate the chain created by Ʋ.
        +       Add M to the result.

6

আর , 88 81 বাইট

function(A,N,P,o=0*diag(P*(N-1)+1)){for(i in 1:P)o[x,x]=o[x<-1:N+i-1,x]+A[[i]];o}

এটি অনলাইন চেষ্টা করুন!

লাগে listম্যাট্রিক্সের, A, N, এবংP

জিরোগুলির প্রয়োজনীয় ম্যাট্রিক্স oতৈরি Aকরে এবং যথাযথ সাবমেট্রিকগুলিতে উপাদান অনুসারে উপাদানগুলি যুক্ত করে o


4

জাভাস্ক্রিপ্ট (ES6), 102 বাইট

হিসাবে ইনপুট লাগে (n,p,a)

(n,p,a)=>[...Array(--n*p+1)].map((_,y,r)=>r.map((_,x)=>a.map((a,i)=>s+=(a[y-i*n]||0)[x-i*n]|0,s=0)|s))

এটি অনলাইন চেষ্টা করুন!

কিভাবে?

0W

W=(এন-1)×পি+ +1

(এক্স,Y)

গুলিএক্স,Y=Σআমি=0পি-1একটিআমি(এক্স-আমি×(এন-1),Y-আমি×(এন-1))

যেখানে অপরিজ্ঞাত কক্ষগুলি শূন্যের সাথে প্রতিস্থাপন করা হয়।



3

জেলি , 12 বাইট

Z€Ż€’}¡"Jµ⁺S

এটি অনলাইন চেষ্টা করুন!

Z€Ż€’}¡"Jµ⁺S
         µ    Everything before this as a monad.
          ⁺   Do it twice
Z€            Zip €ach of the matrices
        J     1..P
       "      Pair the matrices with their corresponding integer in [1..P] then apply the 
              following dyad:
  Ż€            Prepend 0 to each of the rows
      ¡         Repeat this:
    ’}          (right argument - 1) number of times
              Doing everything before µ twice adds the appropriate number of rows and
              columns to each matrix. Finally:
           S  Sum the matrices.

12 বাইট

J’0ẋ;Ɱ"Z€µ⁺S

অতিরিক্ত শূন্যগুলি অনুমোদিত হলে ZŻ€‘ɼ¡)⁺Sএকটি দুর্দান্ত 9 বাইট সমাধান। Tio





1

কাঠকয়লা , 52 বাইট

≦⊖θE⊕×θηE⊕×θηΣEEη×θξ∧¬∨∨‹ιν›ι⁺θν∨‹λν›λ⁺θν§§§ζξ⁻ιν⁻λν

এটি অনলাইন চেষ্টা করুন! লিঙ্কটি কোডটির ভার্জোজ ভার্সনের এবং এতে কিছুটা ব্যবহারযোগ্য বিন্যাসকরণের জন্য দুটি বাইট অন্তর্ভুক্ত রয়েছে। আমি এমন একটি সংস্করণ দিয়ে শুরু করেছিলাম যা সমস্ত অ্যারে প্যাড করে এবং তারপরে তাদের সংমিশ্রিত করে তবে আমি এই সংস্করণটিকে সংক্ষিপ্ততর করে তুলতে সক্ষম হয়েছি। ব্যাখ্যা:

≦⊖θ

ইনপুট মান হ্রাস এন

E⊕×θηE⊕×θη

ফলাফলের আকার গণনা করুন (এন-1)পি+ +1 এবং অন্তর্ভুক্ত পরিসীমা উপর দু'বার মানচিত্র এইভাবে ফলস্বরূপ মুদ্রিত যা ফলাফল ম্যাট্রিক্স উত্পাদন করে।

ΣEEη×θξ

ইনপুট মানের উপরের অন্তর্নিহিত পরিসীমা উপর মানচিত্র পি এবং প্রতিটি উপাদান দ্বারা গুন এন-1। তারপরে, ফলাফলের পরিসীমাটির উপরে মানচিত্র করুন এবং চূড়ান্ত ফলাফলের যোগফল দিন।

∧¬∨∨‹ιν›ι⁺θν∨‹λν›λ⁺θν

সূচকের কোনওটিই সীমার বাইরে নয় কিনা তা পরীক্ষা করুন।

§§§ζξ⁻ιν⁻λν

পছন্দসই মান আনতে মূল ইনপুটটিতে অফসেট করুন।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.