কিছুক্ষণ আগে আমি একটি নতুন ওয়ালেট কিনেছিলাম যা 8 টি কার্ড (উভয় পক্ষে 4) রাখতে সক্ষম। যাইহোক, আমার কাছে তার চেয়ে আরও বেশি কার্ড রয়েছে বলে মনে হয় এবং আমার সাথে আমার পছন্দেরগুলি নির্বাচন করা দরকার যা আমি আমার সাথে চালিয়ে যেতে চাই। কিছু কার্ড আমি অন্যদের তুলনায় বেশিবার ব্যবহার করি তবে আমি যে কার্ডগুলিকে আমার সাথে চালিয়ে যেতে পছন্দ করি সেগুলি আমি বেশি বেশি ব্যবহার করি না।
চ্যালেঞ্জ
কার্ডের একটি স্ট্যাক দেওয়া, আমার মানচিত্রের লেআউটটিকে সর্বোত্তম উপায়ে আমার পছন্দগুলি এবং বিধিনিষেধগুলিকে ফিরিয়ে দিন। লেআউটটি নিম্নরূপ হওয়া উচিত:
__ __ (row 1)
__ __ (row 2)
__ __ (row 3)
__ __ (row 4)
বর্তমানে আমি নিম্নলিখিত কার্ডগুলি পোজ করছি - স্ট্যাকগুলি সর্বদা এগুলি থেকে একটি নির্বাচন নিয়ে গঠিত:
- 1 পরিচয়পত্র ( আইডি )
- 1 ড্রাইভার লাইসেন্স ( ডিএল )
- 2 ক্রেডিট কার্ড ( সিসি )
- 5 ডেবিট কার্ড ( ডিসি )
- 1 পাবলিক ট্রান্সপোর্ট কার্ড ( পিসি )
- 1 জিম অ্যাক্সেস কার্ড ( জিসি )
- এলোমেলো স্টোর এবং গুদাম ( এমসি ) এর 9 সদস্যপদ কার্ড
আমার কিছু পছন্দ এবং বিধিনিষেধ রয়েছে:
- কার্ড অগ্রাধিকার অনুসারে বাছাই করা: আইডি, ডিএল, সিসি, ডিসি, পিসি, জিসি, এমসি
- কার্ডগুলি ব্যবহারের ফ্রিকোয়েন্সি অনুসারে বাছাই করা: সিসি, ডিসি, পিসি, জিসি, এমসি, আইডি, ডিএল
- সুরক্ষার কারণে, আমার মানিব্যাগে ডেবিট কার্ড এবং ক্রেডিট কার্ডের মোট সংখ্যা আমার ওয়ালেটে যে সমস্ত অন্যান্য কার্ড যাবে তার সংখ্যার চেয়ে কমপক্ষে 1 টি বেশি হতে পারে ( N DC + N CC ≤ N ID + N DL + N PC + এন জিসি + এন এমসি +1)।
- যদি উপস্থিত থাকে তবে আমার পরিচয়পত্র এবং ড্রাইভারের লাইসেন্স সর্বদা 1 সারিতে রাখা উচিত This এর অর্থ এই নয় যে অন্যান্য কার্ডগুলি সারি 1-তে স্পট দখল করতে পারে না।
- স্ট্যাক থেকে সর্বাধিক ব্যবহৃত কার্ডগুলি সর্বদা সারি 4 এ চলে যাওয়া উচিত।
বিধি
- কোনও 2 কার্ড একই জায়গা দখল করতে পারে না।
- উচ্চতর অগ্রাধিকারের কার্ডগুলি সর্বদা নিম্ন অগ্রাধিকারের চেয়ে বেশি অগ্রাধিকার দেওয়া হয়, যদি না ডিসি / সিসি নিষেধাজ্ঞায় প্রবেশ না করে।
- সারি 1 এ আইডি / ডিএল ফ্রিকোয়েন্সি নিয়মকে অবিচ্ছিন্ন করে: যদি কেবল আইডি সরবরাহ করা হয় তবে এটি সারি 1 এ যাবে এবং সারি 4 খালি হবে!
- ইনপুট ফর্ম্যাটিং আপনার পছন্দ মতো যেকোন উপায়ে করা যেতে পারে, যতক্ষণ না ইনপুট স্ট্যাকের ক্রম বজায় থাকে। উদাহরণস্বরূপ যেমন
ID,CC,PC,MC,MC,MC,DL
সরবরাহ করা যেতে পারে1ID 1CC 1PC 3MC 1DL 0DC 0GC
বাID CC PC MC MC MC DL
। আউটপুট ফর্ম্যাটিংয়ের কয়েকটি বিধিনিষেধ রয়েছে: সারিগুলি অবশ্যই একটি নতুন লাইনে শুরু হওয়া উচিত, কলামগুলি কোনও উপায়ে ডিলিট করতে হবে। খালি দাগগুলি আপনার যে কোনও উপায়ে উপস্থাপন করা যেতে পারে, যতক্ষণ না এটি 4x2 লেআউটটি গোলমেলে না করে।
একাধিক সমাধান / অর্ডার থাকতে পারে, আপনি আউটপুট হিসাবে কোনটি সরবরাহ করেন তা আপনার বিষয়।
- আপনি ধরে নিতে পারেন যে একই ধরণের কার্ডগুলি সর্বদা ইনপুটটিতে গোষ্ঠীভুক্ত হবে।
- উপরেরটি বাদে মান কোড-গলফ নিয়ম এবং ফাঁকগুলি প্রয়োগ করে।
বোনাস
আপনি যদি ওয়ালেটে যান না এমন কোনও কার্ডও ফেরত দেন তবে আপনার বাইটকাউন্টের 15% অপসারণের অনুমতি দেওয়া হবে । মুদ্রণ "এটি ফিট!" কোন অবশিষ্ট কার্ড ক্ষেত্রে। এই অতিরিক্ত আউটপুটটি সুস্পষ্টভাবে returend বিন্যাস থেকে পৃথক করা উচিত।
উদাহরণ
ইনপুট:
ID, DL, CC, GC, MC
2 সম্ভাব্য ফলাফল:
ID DL DL ID
__ __ or __ MC
MC __ __ __
CC GC GC CC
optional: It fits!
ইনপুট:
ID, CC, DC, PC, GC, MC, MC, MC, MC, MC
2 সম্ভাব্য ফলাফল:
ID MC GC ID
MC MC or MC PC
PC GC MC MC
CC DC DC CC
optional: e.g. (MC, MC) or (2MC)
ইনপুট:
DC, DC, CC, CC, GC, DL
2 সম্ভাব্য ফলাফল:
DL __ GC DL
__ __ or DC __
GC DC __ __
CC CC CC CC
optional: e.g. (DC) or (1DC)
ইনপুট:
CC, DC, DC, DC
2 সম্ভাব্য ফলাফল:
__ __ __ __
__ __ or __ __
__ __ __ __
CC __ __ CC
optional: e.g. (DC, DC, DC) or (3DC)
ইনপুট:
CC, CC, MC, MC, MC, MC, MC, MC, PC, DC, DC, DC, DC, DC, GC
2 সম্ভাব্য ফলাফল:
MC MC MC DC
PC GC or DC GC
DC DC PC MC
CC CC CC CC
optional: e.g. (DC, DC, DC, MC, MC, MC, MC) or (3DC, 4MC)
ইনপুট:
MC, MC, MC, MC, MC, MC, MC
2 সম্ভাব্য ফলাফল:
__ MC MC MC
MC MC or MC MC
MC MC MC __
MC MC MC MC
optional: It fits!
ইনপুট:
ID, CC
2 সম্ভাব্য ফলাফল:
ID __ __ ID
__ __ or __ __
__ __ __ __
CC __ CC __
optional: It fits!
এই কোড-গলফতাই সংক্ষিপ্ততম কোডটি (বাইটে) জয়ী হয়।