ডিফাই গেমস সন্ধান করুন


27

আপনি বিরক্ত হলে খেলতে একটি মজাদার খেলা হ'ল ডিফাই গেম । এটি একটি প্লেয়ার গেম যা বেশ সহজ এবং আপনার সময়টি বেশ ভাল ব্যবহার করতে পারে।

ডিফাই গেমটি নীচের মত কাজ করে: আপনি অ-নেতিবাচক পূর্ণসংখ্যার একটি তালিকা দিয়ে শুরু করুন, এই উদাহরণে আমরা ব্যবহার করব

3 4 5 8

তারপরে আপনি সংলগ্ন সংখ্যার মধ্যে নিখুঁত পার্থক্য গ্রহণ করুন

 (8)  3   4   5   8
    5   1   1   3

তারপরে আপনি পুনরাবৃত্তি করুন। আপনি লুপটি প্রবেশ না করা পর্যন্ত আপনি পুনরাবৃত্তি করবেন। এবং তারপরে সাধারণত গেমটি শুরু থেকে আবার শুরু হয়।

3 4 5 8
5 1 1 3
2 4 0 2
0 2 4 2
2 2 2 2
0 0 0 0
0 0 0 0

প্রায়শই গেমটির কোনও লক্ষ্য থাকে না, আপনি মাথায় পাটিগণিত করে সময় কাটান। তবে যখন আমি এই গেমটি খেলতে আগ্রহী তখন আমার লক্ষ্যটি সর্বদা চেষ্টা করা এবং একটি সময় বাছাই করা এবং সেই গেমটি তৈরি করার চেষ্টা করা হয় যা সেই নির্দিষ্ট সময়ের সাথে লুপ হয়।

সমস্ত গেমস পর্যায়ক্রমিক নয়, উপরের উদাহরণটি পর্যায়ক্রমিক নয় উদাহরণস্বরূপ এটি শেষ পর্যন্ত সমস্ত শূন্যের সাথে একটি গেমের কাছে পৌঁছে যায় এবং এভাবে এটি কখনই তার শুরুতে ফিরে আসতে পারে না। প্রকৃতপক্ষে এটি দেখে মনে হয় যে বিশাল সংখ্যক গেমগুলি পর্যায়ক্রমে কয়েকটি গেম বিরল রত্ন হিসাবে তৈরি করে না।


এমন একটি গেম দেওয়া হয়েছে যা একটি নির্দিষ্ট সময়কালের সাথে লুপ করে অন্য গেমটি তৈরি করা তুচ্ছ হয় যা কেবলমাত্র ক্রমটি দ্বিগুণ করে একই সময়ের সাথে লুপ করে। উদাহরণস্বরূপ গেম:

1 0 1

গেমের মতো হ'ল:

1 0 1 1 0 1

আসলে, আমরা বিবেচনা করতে পারি যে উভয়ই সত্যই অসীম পুনরাবৃত্তি খেলা:

... 1 0 1 ...

আমরা এই চ্যালেঞ্জের স্বার্থে তাদের একটি খেলা বিবেচনা করব।

একই ধরণে ধ্রুবক দ্বারা সম্পূর্ণ ক্রমকে গুণিত করাও সময়কে তুচ্ছভাবে সংরক্ষণ করবে তাই আমরা আবার কোনও দুটি গেম গণনা করব যা একই গেম হতে ধ্রুবক ফ্যাক্টর দ্বারা পৃথক।


অসীম স্ট্রিংগুলি ... 1 0 1 ...এবং ... 0 1 1 ...স্পষ্টতই একই স্ট্রিংটি একটি অক্ষর দ্বারা স্থানান্তরিত। আমরা এগুলিকে বিভিন্ন গেম হিসাবে গণনা করব না, তবে অন্যের কাছে পৌঁছানোর পরে কোনও গেমের সময় নির্ধারণ করার সময় এটি চক্রের শেষ হিসাবে বিবেচিত হবে না। উদাহরণ স্বরূপ:

দুটি খেলা

... 0 0 0 1 0 1 ...  = A
... 0 0 1 1 1 1 ...  = B
... 0 1 0 0 0 1 ...  = A << 4
... 1 1 0 0 1 1 ...  = B << 4
... 0 1 0 1 0 0 ...  = A << 2
... 1 1 1 1 0 0 ...  = B << 2

এবং

... 0 0 1 0 1 0 ...  = A << 1
... 0 1 1 1 1 0 ...  = B << 1
... 1 0 0 0 1 0 ...  = A << 5
... 1 0 0 1 1 1 ...  = B << 5
... 1 0 1 0 0 0 ...  = A << 3
... 1 1 1 0 0 1 ...  = B << 3

সময়ের 6. সঙ্গে উভয় গেম তারা তাদের লুপ যে কোন সময়ে একে অপরের সাথে কোন শব্দটি ভাগ করুন (অসদৃশ হয় ... 1 1 0 ...এবং ... 1 0 1 ...যা অপরের পৌঁছানোর) কিন্তু কারণ তারা একে অপরের সংস্করণ স্থানান্তরিত তারা যখন বেড়ে চলেছে একই গেম বিবেচনা করা হয়।


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

... 0 0 0 1 0 0 1 1 0 1 0 1 1 1 1 ...

এবং এর প্রতিবিম্ব

... 1 1 1 1 0 1 0 1 1 0 0 1 0 0 0 ...

আমরা যদি পরবর্তী প্রজন্মকে চরিত্রগুলির মধ্যে অর্ধমুখী বিন্দুতে উত্পাদিত হিসাবে বিবেচনা করি:

... 0 0 0 1 0 0 1 1 0 1 0 1 1 1 1 ...
 ... 0 0 1 1 0 1 0 1 1 1 1 0 0 0 1 ...

... 1 1 1 1 0 1 0 1 1 0 0 1 0 0 0 ...
 ... 0 0 0 1 1 1 1 0 1 0 1 1 0 0 1 ...

তারপরে উভয়ই 3.5 উপাদান দ্বারা অবস্থান সরিয়ে নিয়ে যেত। তবে আমরা পরবর্তী প্রজন্মকে সেই অর্ধ-উপাদান অফসেটের সাথে উত্পাদিত হিসাবে বিবেচনা করি না, সুতরাং একটি 4-এলিমেন্ট শিফট পর্যন্ত 15 টি সময়সীমা দেয় এবং অন্যটি 3-এলিমেন্ট শিফটকে পিরিয়ড দেয় to 5 এর।

এই কারণে আমরা একটি অসমমিতিক স্ট্রিং এবং এর প্রতিবিম্ব পৃথক হিসাবে বিবেচনা করি, যদিও চক্রগুলি কিছু অর্থে আইসোমোরফিক হয়। অবশ্যই, যদি তারা একই চক্রের অংশ হয় তবে এটি কেবল একটি চক্র হিসাবে গণনা করা হয়।


এই বিধিনিষেধগুলির সাথে একটি সামান্য গণিত দেখায় যে প্রকৃতপক্ষে কোনও নির্দিষ্ট সীমাবদ্ধতার সাথে একটি সীমাবদ্ধ সংখ্যা রয়েছে fy তদুপরি, একটি সসীম সময়কাল সহ প্রতিটি অসীম স্ট্রিং একটি সীমাবদ্ধ স্ট্রিংয়ের অসীম পুনরাবৃত্তি।

নোট করুন যে স্ট্রিংগুলি পিরিয়ডের চেয়ে বড় বা খাটো হতে পারে। উদাহরণস্বরূপ, পিরিয়ড 15 সহ 5 দৈর্ঘ্যের একটি স্ট্রিং রয়েছে এবং 5 সময়ের সাথে 15 দৈর্ঘ্যের একটি স্ট্রিং রয়েছে 19 পিরিয়ড সহ সমস্ত স্ট্রিং 9309 দৈর্ঘ্যের।

কার্য

nএমন একটি সংখ্যা দেওয়া হয়েছে যে স্ট্যান্ডার্ড ইনপুট পদ্ধতিগুলির মাধ্যমে এন 1 এর চেয়ে বড় হয় ঠিক একটি সময়কালের সাথে পৃথক পৃথক চক্রের সংখ্যা নির্ধারণ করে n

(মনে হচ্ছে, সাহিত্যে 0প্রায়শই পর্যায়ক্রমিক ডিফাই গেম হিসাবে বিবেচনা করা হয় না Since এটি ধূসর অঞ্চল হওয়ায় আমি আপনাকে সমাধান করতে বলব না n = 1)

এটি , সুতরাং আপনার উত্স কোডে বাইটের সংখ্যা হ্রাস করা লক্ষ্য।

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

2  ->   0
3  ->   1
4  ->   0
5  ->   1
6  ->   1
7  ->   3
8  ->   0
9  ->   4
10 ->   4
11 ->   3
12 ->   5
13 ->   5
14 ->  24
15 ->  77
16 ->   0
17 -> 259
18 -> 259
19 ->  27
20 -> 272
21 -> 811
22 -> 768
23 ->  91
24 -> 340
25 -> 656

সংকেতগুলি

সমস্ত পর্যায়ক্রমিক বিচ্ছিন্ন গেমগুলিতে কেবল শূন্য এবং একটি একক ধ্রুবক থাকবে, এর অর্থ প্রতিটি পর্যায়ক্রমিক গেমটি কেবলমাত্র শূন্য এবংগুলি নিয়ে গঠিত কিছু আলাদা গেমের জন্য বিস্মৃত হয়।


ঠিক আছে, আমি একটি চ্যাট রুম তৈরি করেছি: chat.stackexchange.com/rooms/56459/diffy-games
পিটার টেলর

হয় 010001->111001->000101->100111->010100->011110->010001এবং 110110->101101->011011->110110স্বতন্ত্র?
মিরাক 7

@ মিরাক Sorry দুঃখিত এটি এত দিন হয়েছে, আমি নিশ্চিত যে এই গেমগুলি স্বতন্ত্র
গম উইজার্ড ২ '

উত্তর:


6

পাইথন 2 , 181 বাইট

n=input()
m=2**n
a=[m]*m
r=lambda i:[i*-~m>>k&m-1 for k in range(n)]
def s(i):
 if a[i]&m:a[i]=i;a[i]=s(min(r(i^i*2)))
 return a[i]
print sum(min(r(i)[1:])>i==s(i)for i in range(m))

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

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

যে নিয়মগুলি বাইনারিগুলির প্রতিটি সারিটি পরবর্তী সারিতে পরিবর্তিত হয় সেই নিয়মগুলি হ'ল প্রতিটি কলামকে পরবর্তী কলামে রূপান্তর করে rules সুতরাং, সমস্ত আধ্যাত্মিক দৈর্ঘ্য- এন কলামগুলির গ্রাফের মধ্যে সমস্ত স্বতন্ত্র চক্র সন্ধান করা যথেষ্ট , যেখানে একটি কলামটি "আধ্যাত্মিক" যদি এটি তার সমস্ত আবর্তনের চেয়ে ডিক্সিকোগ্রাফিকভাবে ছোট হয় (এটি স্বয়ংক্রিয়ভাবে n এর চেয়ে কম সময়ের সাথে কলামগুলি বাদ দেয় )।

কলাম বাইনারি সংখ্যার হিসাবে প্রতিনিধিত্ব সঙ্গে 0 ≤ আমি <2 এন , নিয়ম পাঠায় আমি ক্ষুদ্রতম ঘূর্ণন আমি XOR যাও ( আমি ⋅2)। ( আমি যদি ক্যানোনিকাল হয় তবে এর উচ্চ বিটটি শূন্য এবং আমাদের এখানে মোড়ক নিয়ে চিন্তা করার দরকার নেই))

সুতরাং আমরা সমস্ত সম্ভাব্য কলামগুলি লুপ করি , আধ্যাত্মিকতা পরীক্ষা করি , তারপরে নিয়মটি বারবার প্রয়োগ করি যতক্ষণ না আমরা আগে পরিদর্শন করা একটি কলাম খুঁজে না পাই, যেমন প্রথম পুনর্বিবেচিত কলামটি স্মরণে রেখেছি। ঠিক প্রতিটি চক্রের একটি কলাম তার নিজস্ব পুনর্বিবেচিত কলাম হবে।


1
কিভাবে কাজ করে?
গম উইজার্ড

@WeatWizard একটি ব্যাখ্যা যুক্ত করেছে।
অ্যান্ডারস ক্যাসরগ

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