Een graaf \(G\) met toppenverzameling \(\{0,\dotsc,n - 1\}\) voor \(n \leq 64\) wordt gegeven door de long array graaf[]
, waarbij graaf[i]
de verzameling van buren van top \(i\) als bitvector bevat.
Tel het aantal driehoeken in \(G\), waarbij je elke driehoek natuurlijk maar één keer telt. Gebruik zoveel mogelijk bitoperaties zoals &
, |
, ^
, |
, &
, <<
, Long::numberOfTrailingZeros
, Long::bitCount
, … om je implementatie efficiënter te maken.
Let op:
int
maar 32 bit groot, dus gebruik long
waar nodig.Implementeer hiervoor de interface Driehoeken
1 in een klasse genaamd MijnDriehoeken
.
Gebruik eventueel de testklasse SimpleTest
2 om je oplossing lokaal te testen.