এটা কি ক্যাকটাস?


23

গ্রাফ তত্ত্বে, ক্যাকটাস একটি সংযুক্ত গ্রাফ যেমন গ্রাফের যে কোনও দুটি স্বতন্ত্র চক্র সর্বাধিক এক শীর্ষে অবস্থিত।

এখানে একটি ক্যাকটাস রয়েছে যেখানে 3 টি সাধারণ চক্রটি ড্যাশযুক্ত লাইনের সাথে বর্ণিত out

ক্যাকটাস গ্রাফ

নিম্নলিখিত গ্রাফটি উপরের চিত্রের মতো একই তবে ক্যাকটাস নয় কারণ লাল লেবেলযুক্ত দুটি বিভাজক দুটি সাধারণ চক্র দ্বারা ভাগ করা হয়েছে।

ক্যাকটাস গ্রাফ নয়

জিনিসগুলি কিছুটা কৌতুকপূর্ণ পেতে পারে, উদাহরণস্বরূপ নীচের গ্রাফটি:

ক্যাকটাস গ্রাফও নয়

ক্যাকটাসের মতো দেখতে দেখতে দেখতে কিন্তু তা নয়। নিম্নলিখিত চক্রটি হাইলাইট করে এটি প্রদর্শিত হতে পারে:

হাইলাইট চক্র

এই চক্রটি গ্রাফের আরও সুস্পষ্ট চক্রের সাথে একাধিক পয়েন্ট ভাগ করে নেয়।

সংজ্ঞা

  • একটি সংযুক্ত গ্রাফটি এমন একটি গ্রাফ যা কোনও দুটি উল্লম্বের মধ্যে কমপক্ষে একটি পথ উপস্থিত থাকে।

  • একটি সাধারণ চক্র একটি গ্রাফের একটি পাথ যা একই প্রান্তে শুরু হয় এবং শেষ হয় এবং একাধিকবার কোনও শীর্ষবিন্দু পরিদর্শন করে না।

  • একটি সরল গ্রাফ একটি অপরিবর্তিত, অবিচ্ছিন্ন গ্রাফ যেমন কোনও शिरোখণ্ড একের বেশি দুটি দ্বারা একে অপরের সাথে সংযুক্ত থাকে না এবং কোনও ভার্টেক্স নিজেই সংযুক্ত থাকে না। একটি সাধারণ গ্রাফ হ'ল গ্রাফের সবচেয়ে প্রাথমিক ধরণ এবং বেশিরভাগ লোকেরা যখন গ্রাফ বলে তখন এটি বোঝায়।

কার্য

ইনপুট হিসাবে একটি সহজ গ্রাফ নিন এবং এটি ক্যাকটাস গ্রাফ কিনা তা স্থির করুন। আপনার দুটি পৃথক মান আউটপুট করা উচিত সত্যের জন্য এবং একটি মিথ্যা জন্য। আপনি উপযুক্ত যে কোনও বিন্যাসে ইনপুট নিতে পারেন।

এটি তাই আপনার উত্তরগুলির বাইট গণনা হ্রাস করার লক্ষ্য করা উচিত।

পরীক্ষার মামলা

অ্যাডজেসেন্সি ম্যাট্রিক্স হিসাবে পরীক্ষার কেস


আপনি কি আমার সমাধানটি একবার দেখতে পারেন, এটি বৈধ কিনা তা আমাকে জানান? আমি স্পষ্টভাবে প্যাটার্নের মতো পড়ে গেলাম যে খুব স্পষ্ট ছিল এবং আমি কিছু মিস করেছি।
শেগি

@ শেগি আমি জাভাস্ক্রিপ্টটি পড়তে পারি না, আপনি যদি এটি ব্যাখ্যা করেন তবে আমি সক্ষম হতে পারি।
গম উইজার্ড

আমি চেষ্টা করতে পারি. আমি 2 টি জিনিসের জন্য যাচাই করছি: 1) হ'ল eএকটি উপাদান vথাকে এবং ঠিক 2 টি থাকে vএবং এর প্রথম উপাদানটির সমান হয় e? 2) বা vপ্রতিটি উপাদানের প্রথম উপাদানগুলির ইউনিয়ন সেটের সমান e? দ্বিতীয় টেস্টে ক্ষেত্রে প্রথম চেক (পাস v=[1,2]=e[0]=[1,2]) এবং অন্যান্য পরীক্ষার বিষয় যে সত্য ম্যাচ দ্বিতীয় হওয়া উচিত, যেমন ক্ষেত্রে # 4: v=[1,2,3,4,5,6]=[e[0][0],e[1][0],e[2][0],e[4][0]]=[1,2,3,4,5,6]
শেগি

@ শেগি এটি উদাহরণস্বরূপ প্রদান করা প্রথম চিত্রটি ব্যর্থ হয় না। console.log(f([1,2,3,4,5,6,7,8,9,10,11,12,13])([[1,2],[1,3],[3,4],[2,4],[3,5],[5,6],[6,7],[7,8],[8,5],[7,9],[9,10],[10,11],[11,7],[8,12],[8,13]]))
গম উইজার্ড

ফিরে আসা উচিত trueনাকি false?
শেগি

উত্তর:


9

গণিত, 62 বাইট

Sort@#==#⋃#&[Join@@FindCycle[#,∞,All]]&&ConnectedGraphQ@#&

চেকস: (find all cycles, there are no duplicate edges)এবং(The graph is a connected graph)


1
gহওয়া উচিত #, ঠিক?
নেজেনিসিস

6
তো তুমি আমাকে বলছো কোন isCactusবিল্টিন নেই? আমি হতাশ.
অ্যারন

কারও একটি লেখা উচিত।
ড্রাকো

আপনার পৃথক উত্তর হিসাবে ম্যাথমেটিকাকে সরলীকৃত করা উচিত।
mbomb007

3
@ অ্যারন CactusQযদি এটি বিদ্যমান থাকে তবে আমি বিশ্বাস করি।
নিডজেজেকোব
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.