দোলনা সমতা


15

আমাদের কাছে এমন অবজেক্ট রয়েছে যা [l, r]প্রতিটি ইউনিট প্রতি একক গতিবেগে শুরু হয়ে দুটি পূর্ণসংখ্যার পয়েন্টের মধ্যে দোলায়মান lহয় t=0। আপনি ধরে নিতে পারেন l < r। উদাহরণস্বরূপ, যদি কোনও বস্তু চালু হয় [3, 6]তবে আমাদের রয়েছে:

t=0 -> 3
t=1 -> 4
t=2 -> 5
t=3 -> 6
t=4 -> 5
t=6 -> 4
t=7 -> 3
t=8 -> 4

ইত্যাদি। কিন্তু অবজেক্টগুলি ক্রমাগত দোদুল্যমান হয়, তাই আমাদেরও রয়েছে t=0.5 -> 3.5এবং t=3.7 -> 5.3

প্রদত্ত দুটি বস্তুর মধ্যে দোদুল [l1, r1], [l2, r2]নির্ধারণ যদি কখনও একটি সময় tযেমন যে দুটি বস্তুর একই অবস্থান ভাগ করুন। আপনি যে l1, r1, l2, r2কোনও সুবিধাজনক বিন্যাস গ্রহণ করেন এবং কোনও সত্যবাদী / মিথ্যা মানগুলি আউটপুট করেন।


সত্যবাদী ইনপুট:

[[3, 6], [3, 6]]
[[3, 6], [4, 8]]
[[0, 2], [2, 3]]
[[0, 3], [2, 4]]
[[7, 9], [8, 9]]

মিথ্যা ইনপুট:

[[0, 3], [3, 5]] 
[[0, 2], [2, 4]]
[[5, 8], [9, 10]]
[[6, 9], [1, 2]]
[[1, 3], [2, 6]]
code-golf  array-manipulation  decision-problem  code-golf  math  number-theory  palindrome  integer-partitions  code-golf  math  decision-problem  geometry  code-golf  string  random  code-golf  ascii-art  code-golf  kolmogorov-complexity  primes  code-golf  kolmogorov-complexity  code-golf  graphical-output  code-golf  number-theory  primes  integer  factoring  code-golf  sequence  array-manipulation  integer  code-golf  array-manipulation  matrix  code-golf  sequence  binary  code-golf  game  cellular-automata  game-of-life  binary-matrix  code-golf  string  ascii-art  code-golf  random  generation  logic  code-golf  string  code-golf  code-golf  sequence  array-manipulation  random  apl  code-golf  code-golf  sequence  primes  code-golf  math  sequence  integer  code-golf  number  arithmetic  array-manipulation  decision-problem  code-golf  ascii-art  number  code-golf  restricted-source  quine  code-golf  chess  board-game  code-golf  math  sequence  code-golf  number  sequence  kolmogorov-complexity  code-golf  number  sequence  arithmetic  code-golf  math  number  alphabet  code-golf  ascii-art  classification  statistics  apl  code-golf  array-manipulation  matrix  code-golf  string  kolmogorov-complexity  code-golf  sequence  binary  base-conversion  binary-matrix  code-golf  string  classification  code-golf  tips  python  code-golf  combinatorics  binary  subsequence  restricted-time  code-golf  number  number-theory  code-golf  math  number  complex-numbers  code-golf  string  code-golf  string  code-golf  string  random  game  king-of-the-hill  python  code-golf  number  sequence  code-golf  number  sequence  code-golf  code-golf  math  number  array-manipulation  code-golf  array-manipulation  decision-problem  code-golf  string  code-golf  sequence  integer 

সুতরাং এটি একটি বিন্দু তরঙ্গ একটি sinusoid না, তাই না?
হাইপারনিউটারিনো

রেফারেন্সের জন্য এই চ্যালেঞ্জটি এই গেমটিকে উল্লেখ করে , যেখানে আপনাকে একটি ব্লক থেকে অন্য ব্লকে ঝাঁপিয়ে পড়া সম্ভব কিনা তা সনাক্ত করতে হবে।
ব্যবহারকারী 202729

পুনঃটুইট
orlp

মিথ্যা মানটি 0কোনও ধনাত্মক পূর্ণসংখ্যার সত্যবাদী হতে পারে বা সেগুলি অবশ্যই সামঞ্জস্যপূর্ণ হতে পারে। আরও বেশি, মিথ্যা খালি তালিকা হতে পারে এবং সত্যটি কোনও খালি খালি তালিকা হতে পারে?
মিঃ এক্সকডার

3
একটি ভাল জালিয়াতি পরীক্ষাটি [[1,3],[2,6]]: এটি "অন্তরগুলি ওভারল্যাপের সাথে ওজনিত হয় এবং একই দৈর্ঘ্যের হয় না" বলে উপাস্যকে মিথ্যাবাদী করে।
মিশা লাভরভ

উত্তর:



6

হুশ , 13 বাইট

VEΣUẊeTmȯ…¢mD

ফর্ম্যাট ইনপুট লাগে [[l,r],[L,R]]। রিটার্নস 0falsy দৃষ্টান্ত এবং একটি ধনাত্মক পূর্ণসংখ্যা truthy দৃষ্টান্ত জন্য। এটি অনলাইন চেষ্টা করুন!

ব্যাখ্যা

মূল ধারণাগুলি হ'ল

  1. সংঘর্ষ কেবলমাত্র পূর্ণসংখ্যা বা অর্ধ-পূর্ণসংখ্যার স্থানাঙ্কে ঘটতে পারে।
  2. একটানা দু'টি রাষ্ট্রের পুনরাবৃত্তি না আসা পর্যন্ত এটি সিস্টেমের অনুকরণে যথেষ্ট।

এখানে কোডটি বর্ণিত।

VEΣUẊeTmȯ…¢mD  Implicit input, say [[0,2],[2,3]]
       mȯ      For both pairs do:
           mD   Double each: [[0,4],[4,6]]
          ¢     Cycle: [[0,4,0,4..],[4,6,4,6..]]
         …      Rangify: [[0,1,2,3,4,3,2,1,0,1,2..],[4,5,6,5,4,5,6..]]
      T        Transpose: [[0,4],[1,5],[2,6],[3,5],[4,4],[3,5],[2,6]..
    Ẋe         Adjacent pairs: [[[0,4],[1,5]],[[1,5],[2,6]],[[2,6],[3,5]],[[3,5],[4,4]]..
   U           Prefix of unique elements: [[[0,4],[1,5]],[[1,5],[2,6]],[[2,6],[3,5]],[[3,5],[4,4]]..[[1,5],[0,4]]]
  Σ            Concatenate: [[0,4],[1,5],[1,5],[2,6],[2,6],[3,5],[3,5],[4,4]..[1,5],[0,4]]
VE             Index of first pair whose elements are equal (or 0 if not found): 8

চটজলদি উত্তর। আপনার প্রতিটি কেন দ্বিগুণ করা দরকার? "সংঘর্ষগুলি কেবলমাত্র পূর্ণসংখ্যা বা অর্ধ পূর্ণসংখ্যার সাথেই ঘটতে পারে" "" সংঘর্ষগুলি কেবলমাত্র পূর্ণসংখ্যায় ঘটতে পারে "তে পরিণত করতে হবে?
জোনা

@ জোনাঃ হ্যাঁ, ঠিক
জাগারব

2

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

একটি নিষ্পাপ বাস্তবায়ন যা কেবল সিমুলেশন চালায়। লাগে (ক, খ, গ, ঘ) 4 স্বতন্ত্র ভেরিয়েবল হিসেবে।

(a,b,c,d)=>(g=(X,Y)=>x==y|x+X==y&(y+=Y)==x||(x+=X)-a|y-c&&g(x>a&x<b?X:-X,y>c&y<d?Y:-Y))(1,1,x=a,y=c)

পরীক্ষার মামলা


2

ওল্ফ্রাম ভাষা (গণিত) , 77 69 61 বাইট

If[#>#3,#0[##3,#,#2],(z=GCD[x=#-#2,#3-#4])Mod[x/z,2]<=#2-#3]&

চারটি আর্গুমেন্টকে l1, r1, l2, r2ইনপুট হিসাবে গ্রহণ করে একটি খাঁটি ফাংশন : উদাহরণস্বরূপ, [0,3,2,4]যখন অন্তরগুলি হয় [0,3]এবং হয় [2,4]

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

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

ধরে নিই , [a,b]একটি বিন্দুর কাছাকাছি একটি বিন্দু পেতে , আমরা একটি এমনকি একাধিক এর মধ্যে একটি বিজোড় একাধিক চাই । যদি এর চেয়ে বেশি কারণ থাকে তবে আমরা এটিকে ঠিক ঘটতে পারি: এমন সময় আসবে যখন প্রথম পয়েন্টটি হবে এবং দ্বিতীয় পয়েন্টটি থাকবে এবং তারপরে আমরা ভাল অবস্থায় আছি। যদি তা না হয়, অতঃপর যা উত্তম আমরা কি করতে পারি এর GCD হয় এবং ।[c,d]a<c<b<db-ab-cd-cb-a2d-cbcb-ad-c


1

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

(a,b,c,d)=>[...Array((b-=a)*(d-=c)*4)].some((g=e=>i/e&2?e-i/2%e:i/2%e,i)=>a+g(b)==c+g(d))

l1,r1,l2,r2পৃথক যুক্তি হিসাবে গ্রহণ করে । ব্যাখ্যা: সিমুলেশন (r1-l1)*(r2-l2)*2সময় ইউনিট (বা এর একটি উপাদান) পরে পুনরাবৃত্তি গ্যারান্টিযুক্ত ; সময় ইউনিটগুলির gপরে উপযুক্ত অবজেক্টের অফসেট গণনা করে i/2, তাই iঅবধি এর ব্যাপ্তি হওয়া দরকার (r1-l1)*(r2-l2)*4


1

05 এ বি 1 ই , 12 10 14 বাইট

নেতিবাচক ব্যাপ্তিগুলি পরিচালনা করতে +4 বাইট

মিথ্যা, বা অন্যথায় ইতিবাচক পূর্ণসংখ্য হলে 0 প্রদান করুন

Zgarb এর ধারণা ব্যবহার করুনএকই অবস্থান সনাক্তকরণকে আরও সহজ করতে দ্বিগুণ মানগুলির

আমার ভুলগুলি নির্দেশ করার জন্য @ জাচারাকে ধন্যবাদ

ÄZU\·εXиŸ}øüQO

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

ব্যাখ্যা:

ÄZU\·εXиŸ}øüQO 
ÄZU\            Store in X the largest absolute number in the lists
    ·           Double lists ([3,6],[4,8] => [6,12],[8,16])
     ε   }      For each...
      X             Push X
       и            List-repeat that much times ([6,12]*12 => [6,12,6,12,6,...])
        Ÿ           Rangify ([6,12,6,...] => [6,7,8,9,10,11,12,11,...])
          ø     Zip lists ([6,7,8,...],[8,9,10,...] => [6,8],[7,9],[8,10],...)
           üQ   1 if both elements of a pair are equal, 0 otherwise
             O  Sum result list (=0 if the same position is never shared)
                Implicit output

আমি মনে করি না যে এটি বৃহত তালিকা রেঞ্জের জন্য কাজ করবে কারণ 100 টি বেশ স্বেচ্ছাচারী বলে মনে হচ্ছে।
জাকারি

@ জ্যাচারý ধন্যবাদ! আমি এটিকে খুব অকার্যকর উপায়ে স্থির করেছি, যেহেতু এখন তালিকাগুলি অনেকবার পুনরাবৃত্তি হয়। :-)
স্কটনেট

প্রকৃতপক্ষে, এটি এখনও কাজ করতে পারে না (আমি কীভাবে এটি বেরিয়ে আসার উদ্বিগ্ন হব না, কারণ এটি খুব বেশি সময় নিবে এবং সত্যই, তালিকাগুলি একটি ছোট পরিসীমা এবং আমার মনে হয় যা কাজ করবে না তার থেকে একটি বিশাল পরিসীমা হতে হবে) )
জাকারি

@ জাচারাý এটিকে নির্বিচারে বৃহত ইতিবাচক পূর্ণসংখ্যার জন্য কাজ করা উচিত, যেহেতু সবচেয়ে খারাপ পরিস্থিতি হবে [[0,n],[n-1, n]]এবং এমনকি সেই ক্ষেত্রে, দ্বিতীয় তালিকাটি প্রথমটির উপরের সীমানায় পৌঁছানোর জন্য পর্যাপ্ত পরিমাণে (এবং আরও বেশি) পুনরাবৃত্তি হবে। তবে আমি নেগেটিভ নম্বরগুলি নিতে ভুলে গেছি: [[-100, 1], [0, 1]]কাজ করে না। এটি 4 বাইট ব্যয়ে স্থির করে :-(
স্কটনেট

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