একটি ব্রেইনফাক ডেরিভেটিভ
আসুন একটি সাধারণ ব্রেইনফাক-এর মতো প্রোগ্রামিং ভাষার সংজ্ঞা দিন। এটিতে কোষগুলির একটি দ্বি-নির্দেশমূলক টেপ রয়েছে এবং প্রতিটি কক্ষ একটি বিট ধারণ করে। সমস্ত বিট শুরুতে 0 হয়। টেপটিতে একটি চলন্ত মাথা থাকে, প্রাথমিকভাবে পজিশনে 0 একটি প্রোগ্রাম হ'ল অক্ষরগুলির উপর একটি স্ট্রিং <>01!
, বাম থেকে ডানদিকে চালিত হয়, নিম্নলিখিত শব্দার্থবিজ্ঞানের সাথে:
<
বাম দিকে মাথা এক পা বাড়ায়।>
মাথাটি একপাশে ডান দিকে সরায়।0
বর্তমান কক্ষে 0 রাখে।1
1 বর্তমান কক্ষে রাখে।!
বর্তমান সেলটি ফ্লিপ করে।
কোনও লুপ নেই, সুতরাং এন অক্ষরের একটি প্রোগ্রাম ঠিক এন পদক্ষেপের পরে শেষ হয় । একটি কর্মসূচী বিরক্তিকর হয় যদি সমস্ত কক্ষের প্রয়োগের শেষে 0 থাকে এবং কমপক্ষে একটি থাকে তবে উত্তেজনাপূর্ণ 1 Note দ্রষ্টব্য যে টেপের আকার নির্দিষ্ট করা হয়নি, তাই প্রয়োগের উপর নির্ভর করে এটি দ্বিমুখী অসীম বা হতে পারে বিজ্ঞপ্তি।
একটি উদাহরণ প্রোগ্রাম
প্রোগ্রাম বিবেচনা করুন 1>>>!<<<<0>!>>>!
। অসীম টেপটিতে, মৃত্যুদন্ড কার্যকর হয় নিম্নরূপ:
v
00000000000000 Put 1
v
00000100000000 Move by >>>
v
00000100000000 Flip
v
00000100100000 Move by <<<<
v
00000100100000 Put 0
v
00000100100000 Move by >
v
00000100100000 Flip
v
00000000100000 Move by >>>
v
00000000100000 Flip
v
00000000000000
শেষে, সমস্ত ঘর 0, সুতরাং এই প্রোগ্রামটি বিরক্তিকর। এখন, 4 দৈর্ঘ্যের একটি বিজ্ঞপ্তি টেপ একই প্রোগ্রাম চালানো যাক।
v
0000 Put 1
v
1000 Move by >>>
v
1000 Flip
v
1001 Move by <<<< (wrapping around at the edge)
v
1001 Put 0
v
1000 Move by > (wrapping back)
v
1000 Flip
v
0000 Move by >>>
v
0000 Flip
v
0001
এবার, 1 মান সহ একটি ঘর আছে, তাই প্রোগ্রামটি উত্তেজনাপূর্ণ! আমরা দেখতে পাই যে কোনও প্রোগ্রাম বোরিং বা উত্তেজনাপূর্ণ কিনা তা টেপের আকারের উপর নির্ভর করে।
কাজটি
আপনার ইনপুটটি একটি খালি নয় খালি স্ট্রিং <>01!
যা উপরের প্রোগ্রামিং ভাষার কোনও প্রোগ্রামকে উপস্থাপন করে। অক্ষরের একটি অ্যারে এছাড়াও একটি গ্রহণযোগ্য ইনপুট ফর্ম্যাট। অসীম টেপ চালানোর সময় প্রোগ্রামটি বোরিং হওয়ার গ্যারান্টিযুক্ত। আপনার আউটপুটটি টেপ দৈর্ঘ্যের তালিকান যা প্রোগ্রামটি আকর্ষণীয়। মনে রাখবেন যে আপনাকে কেবল টেপগুলিতে প্রোগ্রামটি পরীক্ষা করতে হবে যা প্রোগ্রামের দৈর্ঘ্যের চেয়ে কম।
প্রতিটি ভাষায় সর্বনিম্ন বাইট গণনা সহ সমাধানটি বিজয়ী। স্ট্যান্ডার্ড কোড-গল্ফ বিধি প্রযোজ্য।
পরীক্ষার মামলা
> : []
110 : []
1>0<! : [1]
0>>1>0<<>! : [1]
1>>>!<<<<0>!>>>! : [2, 4]
!<!<><<0>!>!<><1!>>0 : [2]
>>!>><>001>0<1!<<!>< : [1, 2, 3]
1!><<!<<<!!100><>>>! : [1, 3]
!!1>!>11!1>>0<1!0<!<1><!0<!<0> : [3, 4]
<><<>>!<!!<<<!0!!!><<>0>>>>!>> : [1, 2, 4]
0>>><!<1><<<0>!>>!<<!!00>!<>!0 : [3]
0000!!!!><1<><>>0<1><<><<>>!<< : []
!>!>!>!>!>1>!>0<!<!<!<0<!<0<!<!<!<1>!>0<<! : [1, 2, 5, 7]
<!!>!!><<1<>>>!0>>>0!<!>1!<1!!><<>><0<<!>><<!<<!>< : [1, 2, 4, 5]
!>1<<11<1>!>!1!>>>0!!>!><!!00<><<<0<<>0<<!<<<>>!!> : [1, 2, 3, 5, 6]
<>01!
?