আপনি আপনার বাইকে 3 টি সংখ্যার সংমিশ্রণ লক দিয়ে লক করেছেন। এখন আপনি একটি যাত্রায় যেতে চান এবং নিম্নলিখিত প্রোগ্রামের সাহায্যে এটি আনলক করা প্রয়োজন।
ইনপুট
1 ম পরামিতি
লক অবস্থায় আপনার লকের ডিজিটাল সংমিশ্রণ । এটি অবশ্যই ২ য় প্যারামিটার থেকে পৃথক হওয়া উচিত (= আনলক হওয়া অবস্থার সংমিশ্রণ )। (অন্যথায় আপনার বাইকটি চুরি হয়ে যেতে পারে!)
ব্যাপ্তি 000..999। শীর্ষস্থানীয় শূন্যগুলি বাদ দেওয়া উচিত নয়।
২ য় প্যারামিটার
আনলক অবস্থায় আপনার লকের ডিজিটাল সংমিশ্রণ । এই মান আপনার লক্ষ্য।
ব্যাপ্তি 000..999। শীর্ষস্থানীয় শূন্যগুলি বাদ দেওয়া উচিত নয়।
আউটপুট
প্রাথমিক অবস্থা (যা সর্বদা 1 ম পরামিতি হয়) এবং সর্বশেষ পদক্ষেপ (যা সর্বদা 2 য় প্যারামিটার সহ) প্রতিটি "ঘূর্ণন" এর পরে সংমিশ্রণ লকের প্রতিটি রাজ্যের একটি তালিকা।
অ্যালগরিদম
আনলকড অবস্থায় সঠিক অঙ্কে না পৌঁছানো পর্যন্ত আপনি প্রথম অঙ্কটি একের পর এক "আবর্তন" শুরু করেন । তবে, আপনি সম্পূর্ণ আনলক-কোড সম্পর্কে জ্ঞান থাকার কারণে, আপনি অঙ্কটি আনলক অবস্থায় যে অঙ্কে পৌঁছানোর জন্য সর্বনিম্ন পরিমাণে আবর্তনের প্রয়োজন সেদিকেই এটি ঘোরান । টাই করার ক্ষেত্রে আপনি যে দিকনির্দেশনা চান তা চয়ন করতে পারেন।
আপনি যখন প্রথম প্রথম অঙ্কে পৌঁছেছেন, আপনি একই পদ্ধতিটি ২ য় এবং তারপরে তৃতীয়টি দিয়ে শুরু করবেন।
অঙ্কগুলির ক্রমটি একটি বৃত্ত হিসাবে বুঝতে হবে:
... 9 0 1 2 3 4 5 6 7 8 9 0 1 2 ...
এর অর্থ, 1 থেকে 9 এর মধ্যে ক্ষুদ্রতম পরিমাণটি আবর্তন নয়
1 -> 2 -> 3 -> 4 -> 5 -> 6 -> 7 -> 8 -> 9
= 8
কিন্তু
1 -> 0 -> 9
= 2।
নোট
- আপনি ডিফল্ট I / O নিয়মের উপর নির্ভর করতে পারেন
- আপনি পরামিতিগুলির ক্রম পরিবর্তন করতে পারেন।
উদাহরণ
উদাহরণ 1, সঠিক
Input: 999 001
Output:
999
099
009
000
001
উদাহরণ 2, সঠিক
Input: 000 292
Output:
000
100
200
290
291
292
উদাহরণ 3, ভুল আউটপুট
Input: 999 121
Wrong output:
999
899 // Wrong because wrong rotation direction.
799
699
...
Correct output:
999
099
199
109
119
129
120
121
উদাহরণ 4, ভুল ইনপুট
Input: 1 212 // Wrong because no leading zeros.
এটি কোড-গল্ফ হ'ল সংক্ষিপ্ত উত্তর জেতে।