示例#1
0
static int
compare (const void *x, const void *y)
{
  const struct s *s1 = x, *s2 = y;
  int (*compare1) (int);
  int elt2;

  compare1 = s1->compare;
  elt2 = s2->elt;
  if (elt2 != 0 && debug () && compare1 (s1->elt) != 0)
    errors++;
  return compare1 (elt2);
}
示例#2
0
int main(){
	int a,at,aa[3],b,bt,bb[3],c,ct,cc[3],i,j,re1=0,re2=0,re3=0;
	scanf("%d %d",&a,&at);
	for(i=1;i<=at;i++){
		scanf("%d",&aa[i]);
	}
	
	scanf("%d %d",&b,&bt);
	for(i=1;i<=bt;i++){
		scanf("%d",&bb[i]);
	}
	
	scanf("%d %d",&c,&ct);
	for(i=1;i<=ct;i++){
		scanf("%d",&cc[i]);
	}	
	
	
	
	
	
	for(i=1;i<=at;i++){
		for(j=1;j<=bt;j++){
		re1=re1+compare1(aa[i],bb[j]);
	} 
	}	
		if(re1>0){
		printf("time conflicts! %d and %d\n",a,b);	
		}
	
	for(i=1;i<=bt;i++){
		for(j=1;j<=ct;j++){
		re2=re2+compare2(bb[i],cc[j]);
	} 
	}	
		if(re2>0){
		printf("time conflicts! %d and %d\n",b,c);	
		}
		
	for(i=1;i<=at;i++){
		for(j=1;j<=ct;j++){
		re3=re3+compare3(aa[i],cc[j]);
	} 
	}
		if(re3>0){
		printf("time conflicts! %d and %d\n",a,c);	
		}	
	if((re1+re2+re3)==0){ 
	printf("no time conflicts!\n");
	}

return 0;
}
示例#3
0
static int upheap(CHEAP *heap, int k)
{
    GB_VARIANT_VALUE x;
    int r = 0;

    copy1(heap, k, &x);
    while (k && compare1(heap, &x, parent(k)) < 0) {
        copy(heap, parent(k), k);
        k = parent(k);
        r++;
    }
    copy2(heap, &x, k);
    return r;
}
示例#4
0
int main(int argc, char ** argv)
{
	if (argc != 2)
		goto failure;
	int rc;
	rc = compare1(argv[1]);
	if (rc < 0)
		goto failure;

	printf("magic words: %s\n", get_secret());
	return 0;

failure:
	printf("sorry!\n");
	return -1;
}
示例#5
0
static int downheap(CHEAP *heap, int k)
{
    int count = GB.Count(heap->h), r = 0;
    GB_VARIANT_VALUE x;

    copy1(heap, k, &x);
    while (k <= parent(count - 1)) {
        int j, l = j = left(k), r = right(k);

        if (r < count && compare(heap, l, r) > 0)
            j = r;
        if (compare1(heap, &x, j) <= 0)
            break;
        copy(heap, j, k);
        k = j;
        r++;
    }
    copy2(heap, &x, k);
    return r;
}