সংখ্যা 1 ধনাত্মক মেরু প্রতিনিধিত্ব করে যেখানে 0 নেতিবাচক মেরু প্রতিনিধিত্ব করে।
চুম্বকের উভয় মেরু থাকবে 10 অথবা 01। একে অপরকে আকর্ষণ করে এমন চুম্বক দিয়ে একটি গ্রুপ তৈরি করা যেতে পারে। একে অপরের মুখোমুখি বিভিন্ন মেরু সহ চুম্বক একই গ্রুপে থাকবে।
এখানে, আপনাকে চুম্বকের N নম্বর দেওয়া হয়েছে। আপনাকে খুঁজে বের করতে হবে তাদের সাথে কতগুলো গ্রুপ গঠন করা যেতে পারে।
যখনই দুটি ভিন্ন চুম্বক পাশাপাশি থাকে, তখন একটি নতুন গ্রুপ তৈরি হয়। সেক্ষেত্রে গ্রুপের সংখ্যা বৃদ্ধি করুন।
আসুন একটি উদাহরণ দেখি।
ইনপুট
magnets = ["10", "01", "01", "01", "10", "01"]
আউটপুট
4
প্রদত্ত অ্যারেতে 4টি চুম্বক রয়েছে যা একে অপরকে পাশাপাশি আকর্ষণ করে। তারা হল "10", "01", "10", "01।"
অ্যালগরিদম
- চুম্বক দিয়ে অ্যারে শুরু করুন।
- যেহেতু আমরা জোড়া নিচ্ছি 1-এ গণনা শুরু করুন।
- একটি লুপ লিখুন যা 1 সূচক থেকে অ্যারের শেষ পর্যন্ত পুনরাবৃত্তি করে৷
- যদি বর্তমান চুম্বক আগেরটির সমান না হয়, তাহলে গণনা বাড়ান।
- গণনা ফেরত দিন।
বাস্তবায়ন
C++
-এ উপরের অ্যালগরিদমের বাস্তবায়ন নিচে দেওয়া হল#include <bits/stdc++.h> using namespace std; int getMangetGroupsCount(string magnets[], int n) { int count = 1; for (int i = 1; i < n; i++) { if (magnets[i] != magnets[i - 1]) { count++; } } return count; } int main() { string magnets[] = { "10", "01", "01", "01", "10", "01" }; int n = 6; cout << getMangetGroupsCount(magnets, n) << endl; return 0; }
আউটপুট
আপনি যদি উপরের কোডটি চালান, তাহলে আপনি নিম্নলিখিত ফলাফল পাবেন।
4