পটভূমি
এই চ্যালেঞ্জের উদ্দেশ্যে, একটি-স্টেট nসেলুলার অটোমেটন কেবলমাত্র একটি বাইনারি ফাংশন fযা রাজ্য সেট থেকে {0, 1, ..., n-1}ইনপুট হিসাবে দুটি সংখ্যা নেয় এবং সেই সেট থেকে আউটপুট হিসাবে অন্য নম্বর দেয়। এটি কমপক্ষে 2 দ্বারা দৈর্ঘ্যের সংখ্যার তালিকায় প্রয়োগ করা যেতে পারেL = [x0, x1, x2, ..., xk-1]
f(L) = [f(x0, x1), f(x1, x2), f(x2, x3), ..., f(xk-2, xk-1)]
নোট করুন যে ফলাফলের তালিকার মূলটির তুলনায় একটি কম উপাদান রয়েছে। একটি স্থান-কাল ডায়াগ্রাম এর fথেকে শুরু Lবারবার প্রয়োগের দ্বারা প্রাপ্ত তালিকার তালিকা fথেকে L, এবং একটি তালিকায় ফলাফল সংগ্রহ করা। চূড়ান্ত তালিকায় আমরা যে তালিকার দৈর্ঘ্যে 1. হয়েছে Lএকটি হল চিহ্নিতকরণের ক্রম জন্য f, যদি স্থিতি সেট উপর প্রতি দুই-উপাদানের তালিকা স্থানকালের ডায়াগ্রাম থেকে শুরু কিছু সারির একটি সংলগ্ন sublist হয় L। এটি এই শর্তের সমতুল্য যে অন্য কোনও-স্টেট nসিএ-তে সঠিক স্থানকালীন চিত্র নেই।
ইনপুট
আপনার ইনপুটগুলি একটি n- nপূর্ণসংখ্যার ম্যাট্রিক্স হয় M, Lকমপক্ষে 2 দৈর্ঘ্যের পূর্ণসংখ্যার তালিকা এবং allyচ্ছিকভাবে সংখ্যা n। ম্যাট্রিক্স Mএকটি স্টেট nসিএ সংজ্ঞায়িত fকরে f(a,b) = M[a][b](0-ভিত্তিক সূচক ব্যবহার করে)। এটির গ্যারান্টিযুক্ত n > 0এবং এটি Mএবং Lকেবলমাত্র রাজ্যের সেটের উপাদান রয়েছে {0, 1, ..., n-1}।
আউটপুট
আপনার আউটপুট একটি সামঞ্জস্যপূর্ণ সত্যবাদী মান হতে পারে যদি LCA এর জন্য সনাক্তকারী ক্রম fএবং অন্যথায় একটি সামঞ্জস্যপূর্ণ মিথ্যা মান। এর অর্থ হ'ল সমস্ত "হ্যাঁ" -র ফলে একই সত্যবাদী মান আসে এবং সমস্ত "না" -র ফলে একই মিথ্যা মান হয়।
উদাহরণ
ইনপুট বিবেচনা করুন n = 2, M = [[0,1],[1,0]]এবং L = [1,0,1,1]। ম্যাট্রিক্স Mবাইনারি এক্সআর অটোমেটনের সংজ্ঞা দেয় f(a,b) = a+b mod 2এবং স্পেসটাইম ডায়াগ্রামটি শুরু Lহয়
1 0 1 1
1 1 0
0 1
1
এই চিত্রটি 0 0কোনও সারিতে ধারণ করে না , সুতরাং Lসনাক্তকারী ক্রম নয় এবং সঠিক আউটপুট False। L = [0,1,0,0]পরিবর্তে আমরা যদি ইনপুট করি তবে স্পেসটাইম চিত্রটি
0 1 0 0
1 1 0
0 1
1
এই চিত্রটি সারি সবকিছুর যুগল স্থিতি সেট থেকে টানা ধারণ, যথা 0 0, 0 1, 1 0এবং 1 1, তাই Lএকটি চিহ্নিতকরণের ক্রম এবং সঠিক আউটপুট True।
বিধি
আপনি একটি সম্পূর্ণ প্রোগ্রাম বা একটি ফাংশন লিখতে পারেন। সর্বনিম্ন বাইট গণনা জয়, এবং মান লুফোলগুলি অনুমোদিত নয়।
পরীক্ষার কেস
Trivial automaton
[[0]] [0,0] 1 -> True
Binary XOR
[[0,1],[1,0]] [1,0,1,1] 2 -> False
[[0,1],[1,0]] [1,0,1,0] 2 -> True
[[0,1],[1,0]] [0,1,0,0] 2 -> True
Addition mod 3
[[0,1,2],[1,2,0],[2,0,1]] [0,1,1,0,0,0,1,0,0] 3 -> False
[[0,1,2],[1,2,0],[2,0,1]] [0,1,1,0,0,0,1,0,1] 3 -> True
Multiplication mod 3
[[0,0,0],[0,1,2],[0,2,1]] [0,1,1,2,0,0,1,0,1] 3 -> False
[[0,0,0],[0,1,2],[0,2,1]] [0,1,1,2,2,2,1,0,1] 3 -> True
Some 4-state automata
[[3,2,2,1],[0,0,0,1],[2,1,3,1],[0,1,2,3]] [0,0,0,0,1,1,1,1] 4 -> False
[[3,2,2,1],[0,0,0,1],[2,1,3,1],[0,1,2,3]] [0,0,0,1,0,1,1,1] 4 -> False
[[3,2,2,1],[0,0,0,1],[2,1,3,1],[0,1,2,3]] [0,1,2,3,3,1,2,3,0] 4 -> True
[[0,1,2,1],[1,0,2,0],[2,2,1,0],[1,2,0,0]] [0,0,1,1,2,2,0,2,1] 4 -> False
[[0,1,2,1],[1,0,2,0],[2,2,1,0],[1,2,0,0]] [0,3,1,3,2,3,3,0,1] 4 -> False
[[0,1,2,1],[1,0,2,0],[2,2,1,0],[1,2,0,0]] [0,3,1,3,2,3,3,0,1,2] 4 -> True