কত চাকা রয়েছে তা নির্ধারণ করুন


23

অ গণিতের ব্যাখ্যা

এটি এমন একটি ব্যাখ্যা যা আপনার পটভূমি নির্বিশেষে কাছেই পৌঁছনীয় to এটি দুর্ভাগ্যক্রমে কিছু গণিত জড়িত না, তবে বেশিরভাগ মধ্যবিত্ত স্তরের বোধগম্য ব্যক্তিদের বোধগম্য হওয়া উচিত

পয়েন্টার সিকোয়েন্সটি এমন কোনও অনুক্রম যা এ (এন + 1) = এ (না (এন))

এর সূত্রটি কী বোঝায় তা বোঝার জন্য এই সূত্রটিকে কিছুটা আলাদা করতে দিন। এর অর্থ হ'ল আমরা পরবর্তী শব্দটিকে যে ধারা অনুসারে দেখি তার পরবর্তী পদটি বের করে আনা, সেই বহু পদক্ষেপ ফিরে নেওয়া এবং আমরা যে শব্দটি পাই তা অনুলিপি করে। উদাহরণস্বরূপ যদি আমাদের এখনও পর্যন্ত ক্রম ছিল

... 3 4 4 4 3 ?

আমরা থেকে 3 পদক্ষেপ পিছনে নিতে হবে 3

... 3 4 4 4 3 ?
      ^

আমাদের ফলাফল তৈরি 4

এখন আমরা সাধারণত এই টেপটি এই টেপটিতে খেলি যা উভয় দিকেই অসীম, তবে আমরা এটি একটি চক্রের সাথেও খেলতে পারি যেখানে নির্দিষ্ট সংখ্যক পদক্ষেপের পরে আমরা ক্রমের শুরুতে ফিরে যাই the

উদাহরণস্বরূপ এখানে অনুক্রমের একটি দৃশ্যায়ন রয়েছে [1,3,1,3,1,3]

চাকা

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

গণিতের ব্যাখ্যা

পয়েন্টার সিকোয়েন্সটি এমন কোনও অনুক্রম যা এ (এন + 1) = এ (না (এন)) । সাধারণত এগুলি পূর্ণসংখ্যা থেকে পূর্ণসংখ্যার জন্য সংজ্ঞায়িত হয় তবে আপনি লক্ষ্য করতে পারেন যে এই সংজ্ঞাটিতে কেবলমাত্র প্রয়োজনীয় জিনিসগুলি একটি উত্তরসূরি ফাংশন এবং একটি বিপরীত ফাংশন। যেহেতু সমস্ত চক্রীয় গোষ্ঠীর উভয়ই এই উভয়টি রয়েছে তাই আমরা আসলে যে কোনও চক্র গ্রুপের পয়েন্টার সিকোয়েন্সগুলি বিবেচনা করতে পারি।

যদি আমরা এই ধরণের ফাংশনগুলির সন্ধান শুরু করি তবে আমরা লক্ষ্য করব যে প্রতিটি ফাংশনের জন্য একই ধরণের ফাংশন রয়েছে of জেড 3 এর উদাহরণস্বরূপ নীচের 3 টি সমস্ত প্রয়োজনীয়তা যা আমাদের প্রয়োজনীয়তার সাথে খাপ খায়।

f1 : [1,2,2]
f2 : [2,1,2]
f3 : [2,2,1]

(এখানে একটি তালিকা কোনও ফাংশন উপস্থাপনের জন্য ফলাফলের জন্য ইনপুট দ্বারা তালিকাটিকে কেবল সূচীকরণের জন্য ব্যবহার করা হয়)

আমরা লক্ষ্য করতে পারি যে এই ফাংশনগুলি একে অপরের সমস্ত "আবর্তন"। ঘূর্ণন দ্বারা আমি কী বোঝাতে চাইছি তা আনুষ্ঠানিক করতে, একটি ফাংশন বি হ'ল একটি iff এর ঘূর্ণন

সমীকরণ 1

এখন যদি আমরা এখানে জড়িত গণিত একটি সামান্য বিট পেতে, আমরা আসলে দেখাতে পারেন যে যদি একটি একটি পয়েন্টার ক্রম প্রতিটি ঘূর্ণন একটি একটি পয়েন্টার ক্রম। সুতরাং আমরা প্রকৃতপক্ষে একে অপরের ঘূর্ণন যে কোনও ক্রমকে সমতুল্য বলে বিবেচনা করব।

কার্য

ইনপুট আউটপুট হিসাবে এন দেওয়া হয়েছে এমন পয়েন্টার সিকোয়েন্সগুলির সংখ্যা যা এন

এটি তাই কম বাইট ভাল হওয়ার সাথে উত্তরগুলি বাইটে স্কোর করা হবে।

Testcases

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

আপনি যদি কোডটি ব্যবহার করতে চান তবে আমি এখানে এটি তৈরি করতে পারি

1 -> 1
[[0]]
2 -> 2
[[1,1],[0,0]]
3 -> 4
[[2,2,2],[2,2,1],[1,1,1],[0,0,0]]
4 -> 7
[[3,3,3,3],[3,3,3,2],[2,2,2,2],[3,3,3,1],[3,1,3,1],[1,1,1,1],[0,0,0,0]]
5 -> 12
[[4,4,4,4,4],[4,4,4,4,3],[3,3,3,3,3],[4,4,4,4,2],[4,3,4,4,2],[2,2,2,2,2],[4,4,4,4,1],[4,3,4,4,1],[4,4,2,4,1],[4,4,1,4,1],[1,1,1,1,1],[0,0,0,0,0]]
6 -> 35
[[5,5,5,5,5,5],[5,5,5,5,5,4],[5,5,4,5,5,4],[4,4,4,4,4,4],[5,5,5,5,5,3],[5,4,5,5,5,3],[5,5,5,3,5,3],[5,3,5,3,5,3],[3,3,3,3,3,3],[5,5,5,5,5,2],[5,4,5,5,5,2],[5,3,5,5,5,2],[5,5,4,5,5,2],[5,5,2,5,5,2],[5,5,2,5,2,2],[5,3,2,5,2,2],[5,2,2,5,2,2],[4,2,2,4,2,2],[2,2,2,2,2,2],[5,5,5,5,5,1],[5,4,5,5,5,1],[5,3,5,5,5,1],[5,5,4,5,5,1],[5,5,2,5,5,1],[5,5,1,5,5,1],[5,5,5,3,5,1],[5,3,5,3,5,1],[5,5,5,2,5,1],[5,5,5,1,5,1],[5,3,5,1,5,1],[5,1,5,1,5,1],[3,1,3,1,3,1],[2,2,1,2,2,1],[1,1,1,1,1,1],[0,0,0,0,0,0]]
7 -> 80
[[6,6,6,6,6,6,6],[6,6,6,6,6,6,5],[6,6,6,5,6,6,5],[5,5,5,5,5,5,5],[6,6,6,6,6,6,4],[6,5,6,6,6,6,4],[6,6,6,5,6,6,4],[6,6,6,6,4,6,4],[6,5,6,6,4,6,4],[6,4,6,6,6,4,4],[4,4,4,4,4,4,4],[6,6,6,6,6,6,3],[6,5,6,6,6,6,3],[6,4,6,6,6,6,3],[6,6,5,6,6,6,3],[6,6,4,6,6,6,3],[5,6,6,5,6,6,3],[6,6,6,6,4,6,3],[6,5,6,6,4,6,3],[6,6,4,6,4,6,3],[6,4,4,6,4,6,3],[6,6,6,6,3,6,3],[6,6,4,6,3,6,3],[3,3,3,3,3,3,3],[6,6,6,6,6,6,2],[6,5,6,6,6,6,2],[6,4,6,6,6,6,2],[6,3,6,6,6,6,2],[6,6,5,6,6,6,2],[6,6,4,6,6,6,2],[6,6,6,5,6,6,2],[6,4,6,5,6,6,2],[6,3,6,5,6,6,2],[6,6,6,3,6,6,2],[6,4,6,3,6,6,2],[6,3,6,3,6,6,2],[6,6,6,2,6,6,2],[6,6,2,6,6,3,2],[6,6,6,2,6,2,2],[6,6,4,2,6,2,2],[6,6,3,2,6,2,2],[2,2,2,2,2,2,2],[6,6,6,6,6,6,1],[6,5,6,6,6,6,1],[6,4,6,6,6,6,1],[6,3,6,6,6,6,1],[6,6,5,6,6,6,1],[6,6,4,6,6,6,1],[6,6,2,6,6,6,1],[6,6,6,5,6,6,1],[6,4,6,5,6,6,1],[6,3,6,5,6,6,1],[6,6,6,3,6,6,1],[6,4,6,3,6,6,1],[6,3,6,3,6,6,1],[6,6,6,2,6,6,1],[6,6,6,1,6,6,1],[6,6,6,6,4,6,1],[6,5,6,6,4,6,1],[6,3,6,6,4,6,1],[6,6,4,6,4,6,1],[6,4,4,6,4,6,1],[6,6,2,6,4,6,1],[6,6,1,6,4,6,1],[6,6,6,6,3,6,1],[6,6,4,6,3,6,1],[6,6,2,6,3,6,1],[6,6,1,6,3,6,1],[6,6,6,6,2,6,1],[6,5,6,6,2,6,1],[6,3,6,6,2,6,1],[6,6,6,6,1,6,1],[6,5,6,6,1,6,1],[6,3,6,6,1,6,1],[6,6,4,6,1,6,1],[6,6,2,6,1,6,1],[6,6,1,6,1,6,1],[3,6,1,6,6,3,1],[1,1,1,1,1,1,1],[0,0,0,0,0,0,0]]
8 -> 311
[[7,7,7,7,7,7,7,7],[7,7,7,7,7,7,7,6],[7,7,7,6,7,7,7,6],[7,7,7,7,6,7,7,6],[6,6,6,6,6,6,6,6],[7,7,7,7,7,7,7,5],[7,6,7,7,7,7,7,5],[7,7,7,6,7,7,7,5],[7,7,7,5,7,7,7,5],[7,7,7,7,6,7,7,5],[7,6,7,7,6,7,7,5],[7,7,7,7,7,5,7,5],[7,6,7,7,7,5,7,5],[7,7,7,5,7,5,7,5],[7,5,7,5,7,5,7,5],[7,5,7,7,7,7,5,5],[7,5,7,6,7,7,5,5],[7,5,7,7,7,6,5,5],[5,5,5,5,5,5,5,5],[7,7,7,7,7,7,7,4],[7,6,7,7,7,7,7,4],[7,5,7,7,7,7,7,4],[7,7,6,7,7,7,7,4],[7,7,5,7,7,7,7,4],[6,7,7,6,7,7,7,4],[5,5,7,5,7,7,7,4],[7,7,7,7,6,7,7,4],[7,6,7,7,6,7,7,4],[7,7,5,7,6,7,7,4],[7,7,7,7,4,7,7,4],[7,6,7,7,4,7,7,4],[7,7,7,7,7,5,7,4],[7,6,7,7,7,5,7,4],[7,5,7,7,7,5,7,4],[7,7,6,7,7,5,7,4],[7,7,4,7,7,5,7,4],[7,7,7,7,7,4,7,4],[7,7,6,7,7,4,7,4],[7,7,4,7,7,4,7,4],[7,4,7,7,7,7,5,4],[7,4,7,7,4,7,5,4],[4,4,4,4,4,4,4,4],[7,7,7,7,7,7,7,3],[7,6,7,7,7,7,7,3],[7,5,7,7,7,7,7,3],[7,4,7,7,7,7,7,3],[7,7,6,7,7,7,7,3],[7,7,5,7,7,7,7,3],[7,7,4,7,7,7,7,3],[7,7,7,6,7,7,7,3],[7,5,7,6,7,7,7,3],[7,4,7,6,7,7,7,3],[7,7,7,5,7,7,7,3],[7,5,7,5,7,7,7,3],[7,4,7,5,7,7,7,3],[7,7,7,3,7,7,7,3],[6,7,7,7,6,7,7,3],[6,7,7,3,6,7,7,3],[7,7,7,7,7,5,7,3],[7,6,7,7,7,5,7,3],[7,5,7,7,7,5,7,3],[7,7,6,7,7,5,7,3],[7,7,4,7,7,5,7,3],[7,7,7,5,7,5,7,3],[7,5,7,5,7,5,7,3],[7,7,5,5,7,5,7,3],[7,6,5,5,7,5,7,3],[7,4,5,5,7,5,7,3],[7,7,7,3,7,5,7,3],[7,5,7,3,7,5,7,3],[7,7,7,7,7,4,7,3],[7,7,6,7,7,4,7,3],[7,7,4,7,7,4,7,3],[7,7,7,5,7,4,7,3],[7,7,7,3,7,4,7,3],[7,7,7,7,7,3,7,3],[7,6,7,7,7,3,7,3],[7,5,7,7,7,3,7,3],[7,7,7,5,7,3,7,3],[7,5,7,5,7,3,7,3],[7,7,7,3,7,3,7,3],[7,5,7,3,7,3,7,3],[7,3,7,3,7,3,7,3],[7,3,5,7,7,7,5,3],[7,3,5,3,7,3,5,3],[5,3,5,3,5,3,5,3],[7,7,7,3,7,7,3,3],[7,5,7,3,7,7,3,3],[7,4,7,3,7,7,3,3],[7,7,4,3,7,7,3,3],[7,7,3,3,7,7,3,3],[7,7,7,3,7,6,3,3],[7,5,7,3,7,6,3,3],[7,7,4,3,7,6,3,3],[7,7,3,3,7,6,3,3],[7,6,3,3,7,6,3,3],[7,7,3,3,7,3,3,3],[7,6,3,3,7,3,3,3],[7,4,3,3,7,3,3,3],[7,3,3,3,7,3,3,3],[6,3,3,3,6,3,3,3],[5,3,3,3,5,3,3,3],[3,3,3,3,3,3,3,3],[7,7,7,7,7,7,7,2],[7,6,7,7,7,7,7,2],[7,5,7,7,7,7,7,2],[7,4,7,7,7,7,7,2],[7,3,7,7,7,7,7,2],[7,7,6,7,7,7,7,2],[7,7,5,7,7,7,7,2],[7,7,4,7,7,7,7,2],[7,7,7,6,7,7,7,2],[7,5,7,6,7,7,7,2],[7,4,7,6,7,7,7,2],[7,3,7,6,7,7,7,2],[7,7,7,5,7,7,7,2],[7,5,7,5,7,7,7,2],[7,4,7,5,7,7,7,2],[7,3,7,5,7,7,7,2],[7,7,7,3,7,7,7,2],[7,5,7,3,7,7,7,2],[7,4,7,3,7,7,7,2],[7,3,7,3,7,7,7,2],[7,7,7,2,7,7,7,2],[7,7,7,7,6,7,7,2],[7,6,7,7,6,7,7,2],[7,4,7,7,6,7,7,2],[7,3,7,7,6,7,7,2],[7,7,5,7,6,7,7,2],[7,7,4,7,6,7,7,2],[7,7,7,7,4,7,7,2],[7,6,7,7,4,7,7,2],[7,4,7,7,4,7,7,2],[7,3,7,7,4,7,7,2],[7,7,5,7,4,7,7,2],[7,7,4,7,4,7,7,2],[7,5,4,7,4,7,7,2],[7,7,7,7,3,7,7,2],[7,7,5,7,3,7,7,2],[7,7,4,7,3,7,7,2],[7,7,7,7,2,7,7,2],[7,6,7,7,2,7,7,2],[7,4,7,7,2,7,7,2],[7,3,7,7,2,7,7,2],[4,7,7,7,7,4,7,2],[4,7,6,7,7,4,7,2],[4,7,4,7,7,4,7,2],[4,7,7,5,7,4,7,2],[4,7,7,2,7,4,7,2],[3,3,7,7,7,3,7,2],[3,3,7,5,7,3,7,2],[3,3,7,7,4,3,7,2],[3,3,7,7,3,3,7,2],[3,3,7,6,3,3,7,2],[3,3,7,3,3,3,7,2],[3,3,7,2,3,3,7,2],[7,7,2,7,7,7,4,2],[7,7,2,7,4,7,4,2],[7,7,2,7,3,7,4,2],[7,7,7,2,7,7,3,2],[7,7,3,2,7,7,3,2],[7,4,7,2,4,7,3,2],[3,3,3,2,3,3,3,2],[7,7,7,7,2,7,2,2],[7,6,7,7,2,7,2,2],[7,4,7,7,2,7,2,2],[7,7,7,5,2,7,2,2],[7,4,7,5,2,7,2,2],[7,7,7,4,2,7,2,2],[7,4,7,4,2,7,2,2],[2,2,2,2,2,2,2,2],[7,7,7,7,7,7,7,1],[7,6,7,7,7,7,7,1],[7,5,7,7,7,7,7,1],[7,4,7,7,7,7,7,1],[7,3,7,7,7,7,7,1],[7,7,6,7,7,7,7,1],[7,7,5,7,7,7,7,1],[7,7,4,7,7,7,7,1],[7,7,2,7,7,7,7,1],[7,7,7,6,7,7,7,1],[7,5,7,6,7,7,7,1],[7,4,7,6,7,7,7,1],[7,3,7,6,7,7,7,1],[7,7,7,5,7,7,7,1],[7,5,7,5,7,7,7,1],[7,4,7,5,7,7,7,1],[7,3,7,5,7,7,7,1],[7,7,7,3,7,7,7,1],[7,5,7,3,7,7,7,1],[7,4,7,3,7,7,7,1],[7,3,7,3,7,7,7,1],[7,7,7,2,7,7,7,1],[7,7,7,1,7,7,7,1],[7,7,7,7,6,7,7,1],[7,6,7,7,6,7,7,1],[7,4,7,7,6,7,7,1],[7,3,7,7,6,7,7,1],[7,7,5,7,6,7,7,1],[7,7,4,7,6,7,7,1],[7,7,2,7,6,7,7,1],[7,7,7,7,4,7,7,1],[7,6,7,7,4,7,7,1],[7,4,7,7,4,7,7,1],[7,3,7,7,4,7,7,1],[7,7,5,7,4,7,7,1],[7,7,4,7,4,7,7,1],[7,5,4,7,4,7,7,1],[7,7,2,7,4,7,7,1],[7,4,7,2,4,7,7,1],[7,7,7,7,3,7,7,1],[7,7,5,7,3,7,7,1],[7,7,4,7,3,7,7,1],[7,7,2,7,3,7,7,1],[7,7,7,7,2,7,7,1],[7,6,7,7,2,7,7,1],[7,4,7,7,2,7,7,1],[7,3,7,7,2,7,7,1],[7,7,7,7,1,7,7,1],[7,6,7,7,1,7,7,1],[7,4,7,7,1,7,7,1],[7,3,7,7,1,7,7,1],[7,7,7,7,7,5,7,1],[7,6,7,7,7,5,7,1],[7,5,7,7,7,5,7,1],[7,3,7,7,7,5,7,1],[7,7,6,7,7,5,7,1],[7,7,4,7,7,5,7,1],[7,7,2,7,7,5,7,1],[7,7,1,7,7,5,7,1],[7,7,7,5,7,5,7,1],[7,5,7,5,7,5,7,1],[7,3,7,5,7,5,7,1],[7,7,5,5,7,5,7,1],[7,6,5,5,7,5,7,1],[7,4,5,5,7,5,7,1],[7,7,7,3,7,5,7,1],[7,5,7,3,7,5,7,1],[7,3,7,3,7,5,7,1],[7,7,7,2,7,5,7,1],[7,7,7,1,7,5,7,1],[7,5,7,1,7,5,7,1],[7,7,7,7,7,4,7,1],[7,7,6,7,7,4,7,1],[7,7,4,7,7,4,7,1],[7,7,2,7,7,4,7,1],[7,7,1,7,7,4,7,1],[7,7,7,5,7,4,7,1],[7,7,7,3,7,4,7,1],[7,7,7,2,7,4,7,1],[7,7,7,1,7,4,7,1],[7,7,4,7,2,4,7,1],[7,7,7,7,7,3,7,1],[7,6,7,7,7,3,7,1],[7,5,7,7,7,3,7,1],[7,3,7,7,7,3,7,1],[7,7,7,5,7,3,7,1],[7,5,7,5,7,3,7,1],[7,3,7,5,7,3,7,1],[7,7,7,3,7,3,7,1],[7,5,7,3,7,3,7,1],[7,3,7,3,7,3,7,1],[7,7,7,2,7,3,7,1],[7,7,7,1,7,3,7,1],[7,5,7,1,7,3,7,1],[7,3,7,1,7,3,7,1],[7,3,7,7,3,3,7,1],[7,3,7,6,3,3,7,1],[7,3,7,2,3,3,7,1],[7,7,7,7,7,2,7,1],[7,6,7,7,7,2,7,1],[7,5,7,7,7,2,7,1],[7,3,7,7,7,2,7,1],[7,7,6,7,7,2,7,1],[7,7,4,7,7,2,7,1],[7,7,2,7,7,2,7,1],[7,4,2,7,7,2,7,1],[7,7,1,7,7,2,7,1],[7,7,2,7,2,2,7,1],[7,5,2,7,2,2,7,1],[7,4,2,7,2,2,7,1],[7,7,7,7,7,1,7,1],[7,6,7,7,7,1,7,1],[7,5,7,7,7,1,7,1],[7,3,7,7,7,1,7,1],[7,7,6,7,7,1,7,1],[7,7,4,7,7,1,7,1],[7,7,2,7,7,1,7,1],[7,7,1,7,7,1,7,1],[7,7,7,5,7,1,7,1],[7,5,7,5,7,1,7,1],[7,3,7,5,7,1,7,1],[7,7,7,3,7,1,7,1],[7,5,7,3,7,1,7,1],[7,3,7,3,7,1,7,1],[7,7,7,2,7,1,7,1],[7,7,7,1,7,1,7,1],[7,5,7,1,7,1,7,1],[7,3,7,1,7,1,7,1],[7,1,7,1,7,1,7,1],[5,1,5,1,5,1,5,1],[4,7,1,7,7,7,4,1],[4,7,1,7,7,5,4,1],[3,7,7,1,7,7,3,1],[3,7,3,1,3,7,3,1],[3,5,7,1,7,5,3,1],[3,5,3,1,3,5,3,1],[3,3,3,1,3,3,3,1],[3,1,3,1,3,1,3,1],[1,1,1,1,1,1,1,1],[0,0,0,0,0,0,0,0]]
9 -> 1049
10 -> 4304

সর্বশেষ কেসটি @ হাইপারনিউত্রিনো দ্বারা গণনা করা হয়েছে


1
সত্যই নথিভুক্ত চ্যালেঞ্জের জন্য +1 যদিও আমি এখনও এটি পুরোপুরি বুঝতে পারি না।
এলপেড্রো

@ এলপিড্রো আপনি এখনও কী সম্পর্কে নিশ্চিত নন? সম্ভবত আমি এই প্রশ্নটি আরও স্পষ্ট করতে সাহায্য করতে পারি।
গম উইজার্ড

উত্তর:


7

জেলি , 18 17 বাইট

J_ịṙ1⁼
ṗṙ€RṂ€QÇ€S

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

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

ṗṙ€RṂ€QÇ€S  Main link. Argument: n

ṗ           Cartesian power; yield all vectors of n elements of [1, ..., n].
   R        Range; yield [1, ..., n].
 ṙ€         Rotate each vector 1, ..., and n units to the left.
    Ṃ€      Take the minimum of each array of rotations of the same vector.
      Q     Unique; deduplicate the resulting array.
            Since each vector is replaced by its lexicographically minimal
            rotation, no resulting vector will be a rotation of another vector.
       ǀ   Map the helper link over the remaining vectors.
            Vectors that represent pointer sequences map to 1, others to 0.
         S  Take the sum.


J_ịṙ1⁼      Helper link. Argument: v = (v1, ..., vn)

J           Indices; yield [1, ..., n].
 _          Subtract v, yielding [1 - v1, ..., n - vn].
  ị         Index into v, yielding [v(1 - v1), ..., v(n - vn)].
   ṙ1       Rotate the result one unit to the left.
     ⁼      Compare the result with v.

5

পাইথন 2 , 162 156 152 146 143 বাইট

lambda n:len({min(l[i:]+l[:i]for i in R(n))for l in product(*[R(n)]*n)if all(l[-~i-n]==l[i-l[i]]for i in R(n))})
from itertools import*
R=range

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

কমবেশি নিষ্ঠুর শক্তি:

  • সমস্ত আদেশ উত্পন্ন করে product(r,repeat=n)
  • বৈধ তালিকাগুলি পরীক্ষা করে। all(l[-~i-n]==l[i-l[i]]for i in r)
  • বৈধ লিটসের ন্যূনতম (অভিধান সংক্রান্ত) ঘূর্ণনের একটি সেট উত্পন্ন করে set min(l[i:]+l[:i]for i in r)

সংক্ষিপ্ত সার্কিটগুলি যে পুনরাবৃত্তি ফাংশন:

এই সংস্করণটি দীর্ঘ, তবে tio.run এf(10) 19 সেকেন্ডে গণনা করতে সক্ষম

আমার মেশিনে, আমি খুঁজে পেয়েছি:

  • f(11) = 16920
  • f(12) = 78687

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

lambda n:len(g(n,(-1,)*n))
r=range
g=lambda n,a,j=0:set()if any(len({-1,a[-~i-n],a[i-a[i]]})>2for i in r(j))else set.union(*[g(n,a[:j]+(i,)+a[j+1:],j+1)for i in r(n)])if j<n else{min(a[i:]+a[:i]for i in r(n))}

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

ব্যাখ্যা:

f=lambda n:len(g(n,(-1,)*n)) #calls the recursive function, and gets length.
#The initial circle is all -1, and is built recursively
r=range
g=lambda n,a,j=0:
#if any of the indexes so far break the pointer rule (ignored if 'empty'), stop recursion.
if any(len({-1,a[-~i-n],a[i-a[i]]})>2for i in r(j))
    return set()
else
if j<n:
    #recursively call g with a+ all numbers in range ie.(a+[0], a+[1], ..)
    return set.union(*[g(n,a[:j]+(i,)+a[j+1:],j+1)for i in r(n)])
else # if recursion depth == n, we are done. Return the smallest (lexicographically) rotation.
    return {min(a[i:]+a[:i]for i in r(n))}

অবশ্যই পাইথনের অ্যারের সূচকের অর্থ আপনি %n(এবং তারপরে কয়েকটি বন্ধনী) বাদ দিতে পারেন ?
পিটার টেলর


3

সিজেম, 37

ri:M_m*{:XM,Xfm<:e<=M{(_X=-X=}%X=&},,

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

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


3

পাইথ, 28 বাইট

l{mS.>LdQf!fn@ThY@T-Y@TYUQ^U

পরীক্ষা স্যুট

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


3

হাস্কেল , 117 112 104 বাইট

f k|x<-[1..k]=sum[1|y@(h:t)<-mapM(x<$f)x,t++[h]==[y!!mod(n-a)k|(n,a)<-zip x y],and[y<=drop n y++y|n<-x]]

ব্রুট ফোর্স, বড় ইনপুটগুলির জন্য এতটা ধীর। এটি অনলাইন চেষ্টা করুন!

-5 বাইট লাইকনি ধন্যবাদ।

-5 বাইট ধন্যবাদ অর্জান জোহানসেনকে।


and[y<=drop i y++take i y|i<-x]কিছু বাইট সংরক্ষণ করে
লাইকনি

@ লাইকনি তাই তাই, ধন্যবাদ!
জাগারব

(1) এর x<$fচেয়ে এক বাইট ছোট \_->x। (2) অলসতার জন্য ধন্যবাদ, n`drop`cycle y4 বাইট ওভার সাশ্রয় করে drop n y++take n y
janrjan জোহানসেন

@ আরজান জোহেনসেন ধন্যবাদ, <$কৌশলটি দুর্দান্ত। drop n y++yদ্বিতীয় ইঙ্গিতটির জন্য আরও ছোট হতে দেখা যাচ্ছে।
Zgarb

হুঁ যে প্রায় tailsমান কৌতুক একটি বৈকল্পিক সঙ্গে আরো যাতে 4: all(y<=)$scanr(:)y y
janrjan জোহানসেন
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.