প্রদত্ত ডিএজি (নির্দেশিত অ্যাসাইক্লিক গ্রাফ) এর জন্য এর প্রতিটি টপোলজিকাল প্রকার হ'ল সমস্ত অনুভূমিকের অনুক্রম, যেখানে ড্যাগের প্রতিটি প্রান্তের (ইউ, ভি) জন্য, আপনি ক্রমের মধ্যে ভি এর আগে উপস্থিত হন ।
আপনার কাজটি প্রদত্ত ডিএজি-র টপোলজিক্যাল ধরণের মোট সংখ্যা গণনা করা।
বিধি
- গ্রাফ উপস্থাপন করতে আপনি যে কোনও বিন্যাস ব্যবহার করতে পারেন যেমন সংলগ্ন ম্যাট্রিক্স, সংলগ্ন তালিকা বা প্রান্ত তালিকা, যতক্ষণ না আপনি আপনার এনকোডিংয়ে দরকারী গণনা করবেন না। ইনপুটটিতে ভার্টেক্স গণনা বা ভার্টেক্স তালিকার মতো জিনিসও থাকতে পারে, যদি সেগুলি দরকারী হয়।
- আপনি ইনপুট গ্রাফ ধরে নিতে পারেন সর্বদা একটি ডিএজি (কোনও চক্র নেই)।
- আপনার প্রোগ্রাম কোনও ইনপুট জন্য তত্ত্ব কাজ করা উচিত। তবে এটি ব্যর্থ হতে পারে যদি এটি আপনার ভাষায় মৌলিক পূর্ণসংখ্যার প্রকারকে উপচে ফেলে।
- উল্লম্বের নামগুলি যে কোনও ধরণের যেকোন ধারাবাহিক মান হতে পারে। উদাহরণস্বরূপ: 0 বা 1 থেকে শুরু হওয়া সংখ্যা (এবং কেবলমাত্র আপনি যদি এই সংখ্যায় কোডটি স্টোর না করে থাকেন তবে অবশ্যই))
- এটি কোড-গল্ফ। সংক্ষিপ্ততম কোড জিতেছে।
উদাহরণ
এটি বিভিন্ন ফর্ম্যাটে একই ইনপুট। আপনার প্রোগ্রামটি তাদের সমস্ত গ্রহণ করতে হবে না। শীর্ষস্থানগুলি সর্বদা 0 থেকে শুরু হয় পূর্ণসংখ্যা হয়।
Adjacency list:
[ [1 2 3 5] [2 4] [] [2] [] [3] ]
Adjacency matrix:
[ [0 1 1 1 0 1] [0 0 1 0 1 0] [0 0 0 0 0 0] [0 0 1 0 0 0] [0 0 0 0 0 0] [0 0 0 1 0 0] ]
Edge list:
6 [ [0 1] [0 2] [0 3] [0 5] [1 2] [1 4] [3 2] [5 3] ]
এটি এই চিত্রটিতে প্রদর্শিত গ্রাফটি:

আউটপুটটি হওয়া উচিত:
9
টপোলজিকাল প্রকারগুলি হ'ল:
[0 1 4 5 3 2]
[0 1 5 4 3 2]
[0 1 5 3 4 2]
[0 1 5 3 2 4]
[0 5 1 4 3 2]
[0 5 1 3 4 2]
[0 5 1 3 2 4]
[0 5 3 1 4 2]
[0 5 3 1 2 4]