fork(1) download
  1. #include <vector>
  2. #include <list>
  3. #include <map>
  4. #include <set>
  5. #include <queue>
  6. #include <deque>
  7. #include <stack>
  8. #include <bitset>
  9. #include <algorithm>
  10. #include <functional>
  11. #include <numeric>
  12. #include <utility>
  13. #include <sstream>
  14. #include <iostream>
  15. #include <iomanip>
  16. #include <cstdio>
  17. #include <cmath>
  18. #include <cstdlib>
  19. #include <ctime>
  20. #include <cstring>
  21. #include <math.h>
  22. #include <string>
  23. #define lli long long int
  24. using namespace std;
  25. typedef vector<long long int> vi;
  26.  
  27. const int N = 301;
  28. const int E = 1e9;
  29.  
  30. lli n, K, ans, count1;
  31. vector< vi > graph;
  32. vector< vi > adjlist;
  33. lli b[N];
  34. bool visited[N];
  35. bool pos[N][N];
  36.  
  37.  
  38.  
  39. lli dfs(lli node){
  40. ans++;
  41.  
  42. visited[node] = true;
  43. for(auto v:adjlist[node]){
  44. if(!visited[v]){
  45. dfs(v);
  46. }
  47. }
  48. return ans;
  49. }
  50.  
  51. int main(){
  52. lli x;
  53. memset(pos, true, sizeof pos);
  54. memset(b, 0, sizeof b);
  55. memset(visited, false, sizeof visited);
  56.  
  57. ans = 0;
  58. visited[0] = true;
  59. cin >> n >> K;
  60. graph.resize(n+1);
  61. adjlist.resize(n+1);
  62. for(lli i = 0; i < n; i++){
  63. cin >> x;
  64. b[i] = x;
  65.  
  66. for(lli j = 0; j < x; j++){
  67. lli y;
  68. cin >> y;
  69. graph[i].push_back(y);
  70. }
  71. }
  72.  
  73. for(auto v: graph){
  74. sort(v.begin(), v.end());
  75. }
  76.  
  77.  
  78. for(lli parent = 0; parent < n; parent++){
  79. for(lli child = 0; child < n; child++){
  80.  
  81. if(child == parent) continue;
  82. count1 = 0;
  83. for(int k = 0; k < b[child]; k++){
  84. if(binary_search(graph[parent].begin(), graph[parent].end(), graph[child][k]))
  85. {
  86. count1++;
  87. }
  88. if(count1 >= K){
  89. adjlist[parent].push_back(child);
  90. adjlist[child].push_back(parent);
  91. }
  92. }
  93. }
  94. }
  95. cout << dfs(0);
  96.  
  97. }
  98.  
Success #stdin #stdout 0s 3564KB
stdin
Standard input is empty
stdout
1