1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
#include <cstdio>

int tab[128][128],n,m,i,j,tabm[128],tabact[128],wyn,whereami,whereami2,ileniejeden;

int main(){
	scanf("%d",&n);
	
	wyn=0;
	for(i = 0;i < n;i++){
		scanf("%d",&tabm[i]);
		tabact[i]=0;
		for(j = 0;j < tabm[i];j++){
			scanf("%d",&tab[i][j]);
			tab[i][j]--;
		}
	}
	ileniejeden=0;
	while(true){
		whereami=0;
		// simulate
		while(tabm[whereami]!=0){
		//	printf("= WAMI: %d",whereami);
			whereami2=tab[whereami][tabact[whereami]];
			tabact[whereami]=(tabact[whereami]+1)%tabm[whereami];
			if(tabm[whereami]>1){
				if(tabact[whereami]==0){
					ileniejeden--;
				} else if(tabact[whereami]==1){
					ileniejeden++;
				}
			}
			whereami=whereami2;
	//		printf("-------- = IN 1: %d  wherami-2 %d\n",ileniejeden,whereami2);
		}
	//	printf("--------=========================wyn: %d\n",wyn);
		wyn++;
		if(ileniejeden==0)
			break;
	}
	printf("%d",wyn);
	return 0;
}