Zadanie
Four-cliques
Počet bodov: 50, časový limit: 2600ms
Daný je jednoduchý neorientovaný graf.
Koľko je v ňom rôznych 4-klík?
Vstup a výstup
V prvom riadku je číslo \(n\): počet vrcholov grafu. Vrcholy číslujeme od \(0\) po \(n-1\). Nasleduje \(n\) riadkov, \(i\)-ty z nich obsahuje medzerou oddelené čísla vrcholov, ktoré sú spojené hranou s vrcholom \(i\).
Keďže sme boli leniví, grafy sme vygenerovali náhodne: každá hrana sa v grafe vyskytuje s pravdepodobnostou \(\frac{ln(n)}{\sqrt{n}}\). Vygenerovali sme ich v pythone nasledovne:
from random import *
from math import log
seed(n)
hranica = log(n) / (n ** 0.5)
for i in range(n):
for k in range(i+1,n):
r = random()
if r <= hranica:
# existuje hrana medzi vrcholmi i a k
Vypíšte jedno číslo: počet 4-klík v danom grafe. 4-klika ja štvorica vrcholov takých, že medzi každou dvojicou z nich existuje hrana. Dve kliky považujeme za rôzne, ak sa neskladajú z tých istých štyroch vrcholov.
Vo vstupoch sa práve raz vyskytujú všetky \(n\) v tvare \(k10^1\) a \(k10^2\) pre \(1 \leq k \leq 60\).
Ešte malá prosbička: k tejto úlohe máte full feedback, a je veľa vstupov. Prosím skúste odovzdávať pomenej programov.
Príklad
Input:
10
1 2 3 4 7 8 9
0 2 3 6 8 9
0 1 3 4 5 6 7 8
0 1 2 6 7 8 9
0 2 6 7 9
2 6 7 8 9
1 2 3 4 5 8 9
0 2 3 4 5 8 9
0 1 2 3 5 6 7 9
0 1 3 4 5 6 7 8
Output:
29
Pre odovzdávanie sa musíš prihlásiť.