import java.util.ArrayList;
import java.util.Hashtable;
import java.util.Scanner;
public class ACM_1789 {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner s = new Scanner(System.in);
while(true)
{
int n = s.nextInt();
int m = s.nextInt();
if(n == 0) break;
//ArrayList
ArrayList<Hashtable<Integer,Integer>> groups = new ArrayList<Hashtable<Integer,Integer>>();
Hashtable<Integer,Integer> suspects = new Hashtable<Integer,Integer>();
for(int i=0; i<m; i++){
int num = s.nextInt();
Hashtable<Integer,Integer> group = new Hashtable<Integer,Integer>();
for(int j=0; j<num; j++){
int tmp = s.nextInt();
group.put(tmp, 1);
}
//add Hashtable to ArrayList
groups.add(group);
}
suspects.put(0, 1);
int sum=suspects.size();
while(true){
for(int i=0; i<m; i++){
Hashtable<Integer,Integer> group = groups.get(i);
//traverse all the elements in hashtable
for(int id : suspects.keySet())
{
if(group.containsKey(id))
{
for(int student : group.keySet())
{
suspects.put(student, 1);
}
//if there is one element in the group that are suspects, then add all the elements to the suspects list and then break
break;
}
}
}
if(sum == suspects.size()) break;
sum = suspects.size();
}
System.out.println(sum);
}
}
}
Summary:
1. ArrayList是容器,可以存储类型变量,e.g.可以存储HashTable