10 void remove_overlap(int n,int m, ...)
11 {
12 int i,j,k,l,x,y;
13 static int cnt = 0;
14 int **p;
15 int *a,*b;
16 a = (int *)(malloc(sizeof(int)*m));
17 b = (int *)(malloc(sizeof(int)*n));
18
19
20 for (i=0;i<m;++i)
21 b[i]= 0;
22
23 va_list(list);
24 va_start(list,m);
25 p=va_arg(list,int**);
26 for(i=1;i<n;++i) /* p[i]와 p[i]보다 작은 p[k]를 비교하여 같은 원소를 가지는지 여부 판단*/
27 for(k=0;k<i;++k)
28 { for(y=0; y<m;++y)
29 a[y]=-1;
30
31 for(j=0,cnt=0;j<m;++j)
32 {
33 for (l=0;l<m;++l)
34 {
35 for(x=0;x<m;++x)
36 if (a[x]==l)
37 {x=-1;
38 break;}
39 if (x==-1)
40 continue;
41
42 if (p[i][j]==p[k][l])
43 {
44 ++cnt;
45 a[l]=l;
46 break;
47
48 }
49 }
50
51 }
52
53 if (cnt==m)
54 {b[i]=1; break;}
55 }
56
57 for(i=0; i<n; ++i)
58 {
59 k=0;
60 while(!p[i][k])
61 {
댓글 0