একটি সংখ্যা m এবং একটি নেস্টেড লিস্ট A (n সাব-লিস্ট) দেওয়া আছে। mটি বাল্ব আছে, সব 처음에는 বন্ধ। nটি বাটন আছে, প্রতিটি কিছু বাল্বের সাথে সংযুক্ত। A[i] = i-তম সুইচে দিয়ে যেসব বাল্ব জ্বালানো যায় সেটি। সব বাল্ব জ্বালানো সম্ভব কিনা তা যাচাই করতে হবে।
উদাহরণ
A = [[1,4], [1,3,1], [2]], m=4 → আউটপুট: True
ব্যাখ্যা: সব সুইচ চাপলে ৪টি বাল্ব জ্বলবে।
সমাধানের ধাপসমূহ
একটি সেট s সংজ্ঞায়িত করুন
for i := 0 to A.size()-1:
for j := 0 to A[i].size()-1:
s-এ A[i][j] ইনসার্ট করুন
if s.size() == m: return true
else return false
সি++ কোড উদাহরণ
#include <bits/stdc++.h>
using namespace std;
bool solve(vector<vector<int>> A, int m) {
set<int> s;
for (int i = 0; i < A.size(); i++) {
for (int j = 0; j < A[i].size(); j++)
s.insert(A[i][j]);
}
return s.size() == m;
}
int main() {
vector<vector<int>> A = {{1,4},{1,3,1},{2}};
int m = 4;
cout << solve(A, m) << endl;
}
ইনপুট
{ {1,4}, {1,3,1}, {2} }, 4
আউটপুট
1