Toto je starší verze dokumentu!
Přečtěte si co je to Kirchoffuv teorem Ze zadání si vytvořím dvě matice - matici stupně vrcholů a matici sousednosti. Od matice stupně vrcholů odečtu matici sousednosti a dostanu Laplacianskou matici Kirchhoffuv teorem říká, že když od této matice odeberu jeden řádek a sloupec (vytvořím její kofaktor), dostanu matici jejíž determinant se rovná počtu stromů daného grafu. Při volbě algoritmu na výpočet determinantu rovnou vynechte ty rekurzivní a zkuste implementovat LU dekompozici, či obyčejnou Gaussovku.
By Milan: Narážím na zarážející problém - když odeberu z LaplacianM první sloupec a první řádek, dostanu 5/10. Odeberu-li poslední sloupec a řádek, dostanu 6/10. Nevíte, kde může být problém? Nesetkal jste se s tím někdo? Dělám to přes Gaussovku.
By Rosion: Ja odeberu posledni radek a posledni sloupec a v poradku a pouzivam LUDecomp.
Úloha byla nejspíše myšlena tak, abychom stromy generovali, protože to se zrovna probírá. Já jsem to řešil první způsobem, prosím ať někdo doplní tento.
Návrh řešení
By Petr: hint pro Javu - generoval jsem subsety hran pomoci permutaci binarniho cisla delky |Pocet hran|, ktere obsahovalo |V-1| jednicek. Reprezentace jako retezec charu postacovala jen na 9/10 kvuli casovemu limitu na predposlednim testu. Vyresil jsem to zmenou reprezentace binarky na pole indexu oznacujici primo index, kde je v binarce jednicka. Zrychleni neni zas tak velke, ale na 10/10 uz to stacilo. Nestiha to pouze public test 03.