Skip to content

Instantly share code, notes, and snippets.

@mikigom
Created January 19, 2016 20:29
Show Gist options
  • Save mikigom/d76725ddc9cb161af4a0 to your computer and use it in GitHub Desktop.
Save mikigom/d76725ddc9cb161af4a0 to your computer and use it in GitHub Desktop.
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int main()
{
int test_case_num;
cin >> test_case_num;
int * problem_num_saving = new int[test_case_num];
vector<vector<vector<int> > > test_case_vector;
for(int i = 0; i < test_case_num; ++i)
{
int candidate_num, problem_num;
cin >> candidate_num;
cin >> problem_num;
problem_num_saving[i] = problem_num;
vector<vector<int> > candidate_vector;
for(int j = 0; j < candidate_num; ++j)
{
int i_can_solve_this_problem_num;
cin >> i_can_solve_this_problem_num;
vector<int> problem_vector;
for(int k = 0; k < i_can_solve_this_problem_num; ++k)
{
int i_can_solve_this;
cin >> i_can_solve_this;
problem_vector.push_back(i_can_solve_this);
}
candidate_vector.push_back(problem_vector);
}
test_case_vector.push_back(candidate_vector);
}
int i = 0;
for(vector<vector<vector<int> > >::iterator iter_test_case = test_case_vector.begin(); iter_test_case != test_case_vector.end(); ++iter_test_case)
{
bool yes_or_not = true;
vector<int>::iterator it;
vector<int> union_vector(iter_test_case->size());
for(vector<vector<int> >::iterator iter_candidate = iter_test_case->begin(); iter_candidate != iter_test_case->end(); ++iter_candidate)
{
if(iter_candidate->size() == 0 or iter_candidate->size() == problem_num_saving[i])
yes_or_not = false;
it = set_union(union_vector.begin(), union_vector.end(), iter_candidate->begin(), iter_candidate->end(), union_vector.begin());
}
union_vector.resize(it - union_vector.begin());
if(union_vector.size() != problem_num_saving[i])
yes_or_not = false;
switch(yes_or_not)
{
case true:
cout << "Yes";
break;
case false:
cout << "NO";
break;
}
i++;
cout << endl;
}
delete[] problem_num_saving;
return 0;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment