একটি স্বাক্ষরযুক্ত 16-বিট পূর্ণসংখ্যা এন দেওয়া , আপনার কাজটি 4x4 ম্যাট্রিক্সের অভ্যন্তরে এর বাইনারি উপস্থাপনাটি টেট্রোমিনো আকারের সাথে মিলছে কিনা তা নির্ধারণ করা এবং যদি তাই হয় তবে এটি কোন আকারের।
জরায়ু
বাম থেকে ডান এবং উপরে থেকে নীচে সবচেয়ে গুরুত্বপূর্ণ এক দিয়ে শুরু করে এন এর প্রতিটি বিট 4x4 ম্যাট্রিক্সের মধ্যে ম্যাপ করা হয়।
উদাহরণ :
N = 17600
binary representation: 0100010011000000
matrix: [ [ 0, 1, 0, 0 ],
[ 0, 1, 0, 0 ],
[ 1, 1, 0, 0 ],
[ 0, 0, 0, 0 ] ]
টেট্রোমিনো আকার
বেস আকার
O , I , S , Z , L , J এবং T অক্ষর দ্বারা চিহ্নিত 7 টি টেট্রোমিনো আকার রয়েছে :
আবর্তন এবং অনুবাদ
যদি কোনও আকারটি অনুবাদ করা হয় এবং / অথবা 4x4 ম্যাট্রিক্সের মধ্যে ঘোরানো হয় তবে এটি এখনও একই টেট্রোমিনোটির বৈধ প্রকরণ হিসাবে বিবেচিত হয়। উদাহরণস্বরূপ, 17600, 1136, 2272 এবং 1604 এটিকে জে টেট্রোমিনোস হিসাবে চিহ্নিত করা উচিত :
মোড়ানো না!
তবে আকারগুলি চারপাশে মোড়ানো বা ম্যাট্রিক্সের কোনও সীমানা ছাড়িয়ে স্থানান্তরিত করা যায় না। উদাহরণস্বরূপ, তন্ন তন্ন 568 কিংবা 688 হিসেবে চিহ্নিত করা উচিত জে tetrominoes (একা থাকতে দাও অন্য কোন আকৃতি):
ব্যাখ্যা এবং বিধি
- আপনি কোনও পূর্ণসংখ্যা হিসাবে ইনপুট নিতে পারেন বা কোনও যুক্তিসঙ্গত ফর্ম্যাটে সরাসরি 16 বাইনারি ডিজিটের মতো, যেমন 2D অ্যারে, ফ্ল্যাট অ্যারে বা সীমানাযুক্ত স্ট্রিং।
- ইনপুটটি একটি স্বাক্ষরবিহীন 16-বিট পূর্ণসংখ্যা (বা এরে বা স্ট্রিং হিসাবে এর সমতুল্য উপস্থাপনা) হওয়ার নিশ্চয়তা রয়েছে।
- যখন কোনও বৈধ আকৃতি চিহ্নিত করা হয়, আপনাকে অবশ্যই নিম্ন বা উচ্চতর ক্ষেত্রে আকারটি সনাক্তকারী চিঠিটি মুদ্রণ বা ফিরিয়ে দিতে হবে ।
- যদি কোনও আকার চিহ্নিত না হয় তবে আপনাকে অবশ্যই এমন কোনও মান মুদ্রণ করতে হবে বা ফেরত পাঠাতে হবে যা কোনও টেট্রোমিনো বর্ণের সাথে মেলে না। আপনি কিছুতেই ফেরত দেওয়াও চয়ন করতে পারেন।
- বৈধ হিসাবে বিবেচিত হওয়ার জন্য, ম্যাট্রিক্সে কোনও অতিরিক্ত কোষ ছাড়াই সঠিক টেট্রোমিনো আকার থাকতে হবে (পরীক্ষার ক্ষেত্রে 1911 এবং 34953 দেখুন)।
- এটি কোড-গল্ফ , তাই বাইটের মধ্যে সংক্ষিপ্ত উত্তর!
পরীক্ষার মামলা
পরীক্ষার কেসগুলি 2 ডি অ্যারে হিসাবে পেতে আপনি এই লিঙ্কটি অনুসরণ করতে পারেন ।
0 -> false
50 -> false
51 -> 'O'
1911 -> false
15 -> 'I'
34952 -> 'I'
34953 -> false
1122 -> 'S'
3168 -> 'Z'
785 -> 'L'
1136 -> 'J'
568 -> false
688 -> false
35968 -> 'T'
19520 -> 'T'
0
, IE 1111011110111101111
জন্য 65535
?
15,240,3840,4369,8738,17476,34952,61440
জে: 71,113,142,226,275,550,802,1100,1136,1604,1808,2272,3208,3616,4400,8800,12832,17600,18176,25664,28928,36352,51328,57856
এল: 23,46,116,232,368,547,736,785,1094,1570,1856,2188,3140,3712,5888,8752,11776,12560,17504,25120,29696,35008,50240,59392
ও: 51,102,204,816,1632,3264,13056,26112,52224
এস: 54,108,561,864,1122,1728,2244,8976,13824,17952,27648,35904
টি: 39,78,114,228,305,562,610,624,1124,1220,1248,1824,2248,3648,4880,8992,9760,9984,17984,19520,19968,29184,35968,58368
জেড:99,198,306,612,1224,1584,3168,4896,9792,19584,25344,50688
func1 . func2 . func3