বলুন যে আপনি আপনার বন্ধুকে তার অ্যান্ড্রয়েড ফোনে তার পাসওয়ার্ড প্রবেশ করতে দেখেছেন। তারা কীভাবে প্যাটার্নটি তৈরি করেছিল তা আপনার মনে নেই তবে প্যাটার্নটি কেমন তা মনে আছে। সংশ্লিষ্ট বন্ধু হওয়ার কারণে আপনি যে তাদের পাসওয়ার্ডটি কতটা নিরাপদ তা আপনি জানতে চান। আপনার কাজটি হ'ল নির্দিষ্ট প্যাটার্নটি তৈরি করা যায় তার সমস্ত উপায় গণনা করা।
অ্যান্ড্রয়েড নিদর্শনগুলি কীভাবে কাজ করে
নোডগুলির একটি 3x3 গ্রিডে প্যাটার্নগুলি আঁকা। কোনও প্যাটার্নে পর্দা থেকে আঙুলটি তোলা না করেই নোডগুলির একটি সিরিজ পরিদর্শন করা হয়। তারা যে নোডটি দেখেছেন তারা একটি প্রান্ত দ্বারা পূর্ববর্তী নোডের সাথে সংযুক্ত রয়েছে। মাথায় রাখতে হবে দুটি নিয়ম।
আপনি একাধিকবার কোনও একটি নোডে যেতে পারেন না
একটি প্রান্ত অপ্রত্যাশিত নোডের মধ্য দিয়ে যেতে পারে না
মনে রাখবেন, সাধারণত অসাধারণ অ্যান্ড্রয়েড লক সংমিশ্রণে সঞ্চালন করা খুব সাধারণ এবং খুব সাধারণ না হলেও নাইটের মতো চলাচল করা সম্ভব । অর্থাত্, একপাশ থেকে একটি অ-সংলগ্ন কোণে বা অন্য পথে অন্যদিকে যেতে পারে। এই ধরনের পদক্ষেপ নিযুক্ত করার নিদর্শনগুলির দুটি উদাহরণ এখানে রয়েছে:
এখানে এটির একটি অ্যানিমেটেড জিএফ দেওয়া হচ্ছে।
একটি প্যাটার্ন সমাধান
একটি সাধারণ প্যাটার্নটি এর মতো দেখতে পারে:
এটির মতো একটি সাধারণ প্যাটার্ন সহ এটি প্যাটার্নটি আঁকতে দুটি উপায় রয়েছে। আপনি দুটি আলগা প্রান্তের দুটি থেকে শুরু করতে এবং হাইলাইট করা নোডগুলি দিয়ে অন্য দিকে ভ্রমণ করতে পারেন। যদিও এটি অনেকগুলি নিদর্শনগুলির জন্য সত্য, বিশেষত যেগুলি মানবেরা সাধারণত নিযুক্ত করে এটি সমস্ত নিদর্শনগুলির জন্য সত্য নয়।
নিম্নলিখিত নিদর্শন বিবেচনা করুন:
অবিলম্বে দুটি স্বীকৃত সমাধান রয়েছে। উপরের বাম দিকে শুরু করা একটি:
এবং নীচের কেন্দ্রের একটি শুরু:
তবে যেহেতু একটি লাইন একবারে ইতিমধ্যে নির্বাচিত হয়ে গেলে একটি বিন্দু দিয়ে যাওয়ার অনুমতি দেওয়া হয় সেখানে উপরের মাঝখানে আরও একটি প্যাটার্ন শুরু হচ্ছে:
এই নির্দিষ্ট প্যাটার্নটিতে 3 টি সমাধান রয়েছে তবে নিদর্শনগুলির 1 থেকে 4 টির মধ্যে সমাধান হতে পারে [উদ্ধৃতি প্রয়োজন] ।
এখানে প্রত্যেকের কয়েকটি উদাহরণ দেওয়া হল:
1।
2।
3।
4।
ইনপুট / আউটপুট
কোনও নোডকে শূন্য থেকে নয়টি অন্তর্ভুক্ত, তাদের স্ট্রিং সমতা বা একটি থেকে i (বা A থেকে I) পর্যন্ত অক্ষর হিসাবে উপস্থাপন করা যেতে পারে। প্রতিটি নোডের অবশ্যই এই সেটগুলির মধ্যে একটির থেকে একটি অনন্য উপস্থাপনা থাকতে হবে।
নোড উপস্থাপনাযুক্ত অর্ডারযুক্ত ধারক দ্বারা একটি সমাধান উপস্থাপন করা হবে। নোডগুলি অবশ্যই সেগুলি ক্রমভাবে অর্ডার করতে হবে যেগুলি তারা মধ্য দিয়ে গেছে।
একটি প্যাটার্নটি জোড় নোডের একটি আনর্ডারড ধারক দ্বারা প্রতিনিধিত্ব করা হবে। প্রতিটি জুড়ি জোড়ায় দুটি পয়েন্টকে সংযোগ স্থাপন করে একটি প্রান্ত উপস্থাপন করে। প্যাটার্ন উপস্থাপনা অনন্য নয়।
আপনি স্ট্যান্ডার্ড ইনপুট পদ্ধতিগুলির মাধ্যমে ইনপুট হিসাবে একটি নিদর্শন উপস্থাপনা নেবেন এবং স্ট্যান্ডার্ড আউটপুট পদ্ধতির মাধ্যমে একই প্যাটার্ন তৈরি করে এমন সমস্ত সম্ভাব্য সমাধান আউটপুট পাবেন।
আপনি ধরে নিতে পারেন প্রতিটি ইনপুটটির কমপক্ষে একটি সমাধান হবে এবং কমপক্ষে 4 টি নোডকে সংযুক্ত করবে।
আপনি যদি ইচ্ছা করেন বা ভাষা নির্বাচনের দ্বারা বাধ্য হন তবে আপনি কোনও অর্ডারডের জায়গায় অর্ডারযুক্ত ধারকটি ব্যবহার করতে পারেন।
পরীক্ষার মামলা
নিম্নলিখিত প্যাটার্নে সজ্জিত নোডগুলি সহ:
0 1 2
3 4 5
6 7 8
দিন {...}
একটি unordered ধারক হতে পারে, [...]
একটি আদেশ ধারক হতে, এবং (...)
একজোড়া হও।
নিম্নলিখিত ইনপুট এবং ফলাফলগুলি মেলে উচিত
{(1,4),(3,5),(5,8)} -> {[1,4,3,5,8]}
{(1,4),(3,4),(5,4),(8,5)} -> {[1,4,3,5,8]}
{(0,4),(4,5),(5,8),(7,8)} -> {[0,4,5,8,7],[7,8,5,4,0]}
{(0,2),(2,4),(4,7)} -> {[0,1,2,4,7],[1,0,2,4,7],[7,4,2,1,0]}
{(0,2),(2,6),(6,8)} -> {[0,1,2,4,6,7,8],[1,0,2,4,6,7,8],[8,7,6,4,2,1,0],[7,8,6,4,2,1,0]}
{(2,3),(3,7),(7,8)} -> {[2,3,7,8],[8,7,3,2]}
{(0,7),(1,2),(1,4),(2,7)} -> {[0,7,2,1,4],[4,1,2,7,0]}
{(0,4),(0,7),(1,3),(2,6),(2,8),(3,4),(5,7)} -> {[1,3,4,0,7,5,8,2,6]}
{(1,3),(5,8)} -> {}
ছবি হিসাবে সমস্ত পরীক্ষার মামলার একটি ইমগুর অ্যালবাম এখানে পাওয়া যাবে । প্যাটার্নগুলি নীল সমাধানে লাল।
স্কোরিং
এটি কোড গল্ফ। সবচেয়ে কম বাইট জেতা